#if defined (AIX_PROD) || defined (IBMOS2) 
/* @(#)08	1.8  src/directory/xds/h/xdsbdcp.h, xdsxom.src, os2dce21.dss, 960602a.1 2/21/96 18:47:41  */
/*
 *   COMPONENT_NAME: xdsxom.src
 *
 * 5747-SM3 (C) COPYRIGHT IBM CORP. 1996
 *
 *   FUNCTIONS: None
 *
 *   ORIGINS: 72
 *
 */
#endif    /*IBM_PROD or IBMOS2*/               
/*******************************************************************
 * CHANGE ACTIVITY: AS FOLLOWS
 ********************************************************************
 *$MOD(xxxxxxxx),COMP(xxxxx),PROD(aixdce): a descriptive comment
 *
 *      REASON  RLSE  DATE  ORIGIN   DESCRIPTION
 *      ------- ---- ------ ------   -----------
 *      cmvc#   0103 yymmdd xxxxxx : description about the change
 *$P1 = 12382   0110 032095 LAR      Use of class keyword gives                
 *                                   errors if using C++
 *$P2 = 19091   0110 012596 LAR    : Changes needed for Borland and Watcom   
 *                                   compliers                             
 *$P3 = 19912   0110 020696 LAR    : Additional changes needed for Borland 
 *      20276   0110 960219 LAR    : Port to OSF 1.1 level - No changes              
 ********************************************************************/
/*
 * @OSF_COPYRIGHT@
 * COPYRIGHT NOTICE
 * Copyright (c) 1990, 1991, 1992, 1993 Open Software Foundation, Inc.
 * ALL RIGHTS RESERVED (DCE).  See the file named COPYRIGHT.DCE in the
 * src directory for the full copyright text.
 */
/*
 * HISTORY
 * $Log: xdsbdcp.h,v $
 * Revision 1.1.12.1  1994/02/22  19:23:48  marrek
 * 	February 1994 code drop
 * 	[1994/02/18  09:10:54  marrek]
 *
 * 	Code drop for dce1.1.
 * 	[1994/02/08  12:02:03  marrek]
 *
 * Revision 1.1.10.1  1993/10/14  19:23:41  keutel
 * 	October 1993 code drop
 * 	[1993/10/14  19:22:32  keutel]
 * 
 * 	October 1993 code drop
 * 	[1993/10/11  10:02:27  keutel]
 * 
 * Revision 1.1.8.2  1993/08/10  07:09:56  marrek
 * 	July 1993 code drop.
 * 	[1993/07/27  14:19:32  marrek]
 * 
 * Revision 1.1.6.2  1992/12/30  23:30:09  bbelch
 * 	Embedding copyright notice
 * 	[1992/12/30  23:20:20  bbelch]
 * 
 * Revision 1.1.2.3  1992/07/28  20:12:36  melman
 * 	GDS Drop of 7/17/92, removed ='s from #defines
 * 	[1992/07/28  20:01:57  melman]
 * 
 * Revision 1.1.2.2  1992/06/01  23:16:02  melman
 * 	New GDS merged drop
 * 	[1992/05/29  12:43:05  melman]
 * 
 * $EndLog$
 */
#ifndef _XDSBDCP_H
#define _XDSBDCP_H

#if !defined(lint) && defined(GDS_RCS_ID)
static char xdsbdcp_rcsid[] = "@(#)$RCSfile: xdsbdcp.h,v $ $Revision: 1.1.12.1 $ $Date: 1994/02/22 19:23:48 $";
#endif

/***************************************************************
*                                                              *
*  COPYRIGHT (C) SIEMENS NIXDORF INFORMATIONSSYSTEME AG 1991   *
*                ALL RIGHTS RESERVED                           *
*                                                              *
***************************************************************/

/*daton ***************************************************************/
/*                                                                    */
/* TYP          : INCLUDE                                             */
/*                                                                    */
/* NAME         : xdsbdcp.h                                           */
/*                                                                    */
/* AUTHOR       : V. Ryan                                             */
/* DATE         : 1. 10. 1990                                         */
/*                                                                    */
/* COMPONENT    : XDS                                                 */
/*                                                                    */
/* DOK.-REF.    : X/Open CAE Spec. API to Directory Services (XDS)    */
/*                X/Open CAE Spec. OSI-Abstract-Data Manip. API (XOM) */
/*                                                                    */
/* PRD#/VERS.   :                                                     */
/*                                                                    */
/* DESCRIPTION  : xdsbdcp.h as specified in XDS                       */
/*                                                                    */
/*                                                                    */
/* SYSTEM DEPENDENCIES:                                               */
/*                                                                    */
/* HISTORY      :                                                     */
/*                                                                    */
/* Vers.Nr. |  Date   |  Updates                       | KZ | CR# FM# */
/*   1.0    | 90-10-01| Original                       | VR |         */
/*          |         |                                |    |         */
/*          |         |                                |    |         */
/*datoff **************************************************************/

#ifndef XDSBDCP_HEADER
#define XDSBDCP_HEADER
#ifdef __cplusplus          /*@P1A*/
    extern "C" {            /*@P1A*/
#endif                      /*@P1A*/

/* BDC package object identifier */
/* { iso(1) identifier-organization(3) icd-ecma(12) member-company(2) dec(1011)
     xopen(28) bdcp(1) } */

#define OMP_O_DS_BASIC_DIR_CONTENTS_PKG         "\x2B\x0C\x02\x87\x73\x1C\x01"

/* Intermediate object identifier macros */

#ifndef dsP_attributeType
#if defined (__WATCOMC__) || defined (__BORLANDC__)  /*@P3A*/
      #define dsP_attributeType(X)       "\x55\x4" #X  /* joint-iso-ccitt 5 4 */
#else  /* __BORLANDC__ or __WATCOMC__ */             /*@P3A*/
      #define dsP_attributeType(X)      ("\x55\x4" #X) /* joint-iso-ccitt 5 4 */
#endif   /* __BORLANDC__ or __WATCOMC__ */           /*@P3A*/ 
#endif

#ifndef dsP_objectClass
#if defined (__WATCOMC__) || defined (__BORLANDC__)  /*@P3A*/
      #define dsP_objectClass(X)         "\x55\x6" #X  /* joint-iso-ccitt 5 6 */
#else  /* __BORLANDC__ or __WATCOMC__ */             /*@P3A*/
      #define dsP_objectClass(X)        ("\x55\x6" #X) /* joint-iso-ccitt 5 6 */
#endif   /* __BORLANDC__ or __WATCOMC__ */           /*@P3A*/ 
#endif
 
#if defined (__WATCOMC__) || defined (__BORLANDC__)  /*@P3A*/
#define dsP_bdcp_c(X)    OMP_O_DS_BASIC_DIR_CONTENTS_PKG #X 
#else  /* __BORLANDC__ or __WATCOMC__ */             /*@P3A*/
#define dsP_bdcp_c(X)   (OMP_O_DS_BASIC_DIR_CONTENTS_PKG #X)
#endif   /* __BORLANDC__ or __WATCOMC__ */           /*@P3A*/ 

/* OM class names (prefixed DS_C_),                             */
/* Directory attribute types (prefixed DS_A_),                  */
/* and Directory object classes (prefixed DS_O_)                */

/* Every application program which makes use of a class or      */
/* other Object Identifier must explicitly import it into       */
/* every compilation unit (C source program) which uses it.     */
/* Each such class or Object Identifier name must be            */
/* explicitly exported from just one compilation unit.          */

/* In the header file, OM class constants are prefixed with     */
/* the OMP_O prefix to denote that they are OM classes.         */
/* However, when using the OM_IMPORT and OM_EXPORT macros,      */
/* the base names (without the OMP_O prefix) should be used.    */
/* For example:                                                 */
/*        OM_IMPORT(DS_O_COUNTRY)                               */


/* Directory attribute types */

#if defined __BORLANDC__               /*@P3A*/
#define OMP_O_DS_A_ALIASED_OBJECT_NAME          "\x55\x4\x01"
#define OMP_O_DS_A_BUSINESS_CATEGORY            "\x55\x4\x0F"
#define OMP_O_DS_A_COMMON_NAME                  "\x55\x4\x03"
#define OMP_O_DS_A_COUNTRY_NAME                 "\x55\x4\x06"
#define OMP_O_DS_A_DESCRIPTION                  "\x55\x4\x0D"
#define OMP_O_DS_A_DEST_INDICATOR               "\x55\x4\x1B"
#define OMP_O_DS_A_FACSIMILE_PHONE_NBR          "\x55\x4\x17"
#define OMP_O_DS_A_INTERNAT_ISDN_NBR            "\x55\x4\x19"
#define OMP_O_DS_A_KNOWLEDGE_INFO               "\x55\x4\x02"
#define OMP_O_DS_A_LOCALITY_NAME                "\x55\x4\x07"
#define OMP_O_DS_A_MEMBER                       "\x55\x4\x1F"
#define OMP_O_DS_A_OBJECT_CLASS                 "\x55\x4\x00"
#define OMP_O_DS_A_ORG_NAME                     "\x55\x4\x0A"
#define OMP_O_DS_A_ORG_UNIT_NAME                "\x55\x4\x0B"
#define OMP_O_DS_A_OWNER                        "\x55\x4\x20"
#define OMP_O_DS_A_PHONE_NBR                    "\x55\x4\x14"
#define OMP_O_DS_A_PHYS_DELIV_OFF_NAME          "\x55\x4\x13"
#define OMP_O_DS_A_POST_OFFICE_BOX              "\x55\x4\x12"
#define OMP_O_DS_A_POSTAL_ADDRESS               "\x55\x4\x10"
#define OMP_O_DS_A_POSTAL_CODE                  "\x55\x4\x11"
#define OMP_O_DS_A_PREF_DELIV_METHOD            "\x55\x4\x1C"
#define OMP_O_DS_A_PRESENTATION_ADDRESS         "\x55\x4\x1D"
#define OMP_O_DS_A_REGISTERED_ADDRESS           "\x55\x4\x1A"
#define OMP_O_DS_A_ROLE_OCCUPANT                "\x55\x4\x21"
#define OMP_O_DS_A_SEARCH_GUIDE                 "\x55\x4\x0E"
#define OMP_O_DS_A_SEE_ALSO                     "\x55\x4\x22"
#define OMP_O_DS_A_SERIAL_NBR                   "\x55\x4\x05"
#define OMP_O_DS_A_STATE_OR_PROV_NAME           "\x55\x4\x08"
#define OMP_O_DS_A_STREET_ADDRESS               "\x55\x4\x09"
#define OMP_O_DS_A_SUPPORT_APPLIC_CONTEXT       "\x55\x4\x1E"
#define OMP_O_DS_A_SURNAME                      "\x55\x4\x04"
#define OMP_O_DS_A_TELETEX_TERM_IDENT           "\x55\x4\x16"
#define OMP_O_DS_A_TELEX_NBR                    "\x55\x4\x15"
#define OMP_O_DS_A_TITLE                        "\x55\x4\x0C"
#define OMP_O_DS_A_USER_PASSWORD                "\x55\x4\x23"
#define OMP_O_DS_A_X121_ADDRESS                 "\x55\x4\x18"
#else  /* __BORLANDC__  */             /*@P3A*/
#define OMP_O_DS_A_ALIASED_OBJECT_NAME          dsP_attributeType(\x01)
#define OMP_O_DS_A_BUSINESS_CATEGORY            dsP_attributeType(\x0F)
#define OMP_O_DS_A_COMMON_NAME                  dsP_attributeType(\x03)
#define OMP_O_DS_A_COUNTRY_NAME                 dsP_attributeType(\x06)
#define OMP_O_DS_A_DESCRIPTION                  dsP_attributeType(\x0D)
#define OMP_O_DS_A_DEST_INDICATOR               dsP_attributeType(\x1B)
#define OMP_O_DS_A_FACSIMILE_PHONE_NBR          dsP_attributeType(\x17)
#define OMP_O_DS_A_INTERNAT_ISDN_NBR            dsP_attributeType(\x19)
#define OMP_O_DS_A_KNOWLEDGE_INFO               dsP_attributeType(\x02)
#define OMP_O_DS_A_LOCALITY_NAME                dsP_attributeType(\x07)
#define OMP_O_DS_A_MEMBER                       dsP_attributeType(\x1F)
#define OMP_O_DS_A_OBJECT_CLASS                 dsP_attributeType(\x00)
#define OMP_O_DS_A_ORG_NAME                     dsP_attributeType(\x0A)
#define OMP_O_DS_A_ORG_UNIT_NAME                dsP_attributeType(\x0B)
#define OMP_O_DS_A_OWNER                        dsP_attributeType(\x20)
#define OMP_O_DS_A_PHONE_NBR                    dsP_attributeType(\x14)
#define OMP_O_DS_A_PHYS_DELIV_OFF_NAME          dsP_attributeType(\x13)
#define OMP_O_DS_A_POST_OFFICE_BOX              dsP_attributeType(\x12)
#define OMP_O_DS_A_POSTAL_ADDRESS               dsP_attributeType(\x10)
#define OMP_O_DS_A_POSTAL_CODE                  dsP_attributeType(\x11)
#define OMP_O_DS_A_PREF_DELIV_METHOD            dsP_attributeType(\x1C)
#define OMP_O_DS_A_PRESENTATION_ADDRESS         dsP_attributeType(\x1D)
#define OMP_O_DS_A_REGISTERED_ADDRESS           dsP_attributeType(\x1A)
#define OMP_O_DS_A_ROLE_OCCUPANT                dsP_attributeType(\x21)
#define OMP_O_DS_A_SEARCH_GUIDE                 dsP_attributeType(\x0E)
#define OMP_O_DS_A_SEE_ALSO                     dsP_attributeType(\x22)
#define OMP_O_DS_A_SERIAL_NBR                   dsP_attributeType(\x05)
#define OMP_O_DS_A_STATE_OR_PROV_NAME           dsP_attributeType(\x08)
#define OMP_O_DS_A_STREET_ADDRESS               dsP_attributeType(\x09)
#define OMP_O_DS_A_SUPPORT_APPLIC_CONTEXT       dsP_attributeType(\x1E)
#define OMP_O_DS_A_SURNAME                      dsP_attributeType(\x04)
#define OMP_O_DS_A_TELETEX_TERM_IDENT           dsP_attributeType(\x16)
#define OMP_O_DS_A_TELEX_NBR                    dsP_attributeType(\x15)
#define OMP_O_DS_A_TITLE                        dsP_attributeType(\x0C)
#define OMP_O_DS_A_USER_PASSWORD                dsP_attributeType(\x23)
#define OMP_O_DS_A_X121_ADDRESS                 dsP_attributeType(\x18)
#endif   /* __BORLANDC__ */            /*@P3A*/ 
                                                            

/* Directory object classes */

#if defined __BORLANDC__               /*@P3A*/
#define OMP_O_DS_O_ALIAS                "\x55\x6\x01"
#define OMP_O_DS_O_APPLIC_ENTITY        "\x55\x6\x0C"
#define OMP_O_DS_O_APPLIC_PROCESS       "\x55\x6\x0B"
#define OMP_O_DS_O_COUNTRY              "\x55\x6\x02"
#define OMP_O_DS_O_DEVICE               "\x55\x6\x0E"
#define OMP_O_DS_O_DSA                  "\x55\x6\x0D"
#define OMP_O_DS_O_GROUP_OF_NAMES       "\x55\x6\x09"
#define OMP_O_DS_O_LOCALITY             "\x55\x6\x03"
#define OMP_O_DS_O_ORG                  "\x55\x6\x04"
#define OMP_O_DS_O_ORG_PERSON           "\x55\x6\x07"
#define OMP_O_DS_O_ORG_ROLE             "\x55\x6\x08"
#define OMP_O_DS_O_ORG_UNIT             "\x55\x6\x05"
#define OMP_O_DS_O_PERSON               "\x55\x6\x06"
#define OMP_O_DS_O_RESIDENTIAL_PERSON   "\x55\x6\x0A"
#define OMP_O_DS_O_TOP                  "\x55\x6\x00"
#else  /* __BORLANDC__  */             /*@P3A*/
#define OMP_O_DS_O_ALIAS                dsP_objectClass(\x01)
#define OMP_O_DS_O_APPLIC_ENTITY        dsP_objectClass(\x0C)
#define OMP_O_DS_O_APPLIC_PROCESS       dsP_objectClass(\x0B)
#define OMP_O_DS_O_COUNTRY              dsP_objectClass(\x02)
#define OMP_O_DS_O_DEVICE               dsP_objectClass(\x0E)
#define OMP_O_DS_O_DSA                  dsP_objectClass(\x0D)
#define OMP_O_DS_O_GROUP_OF_NAMES       dsP_objectClass(\x09)
#define OMP_O_DS_O_LOCALITY             dsP_objectClass(\x03)
#define OMP_O_DS_O_ORG                  dsP_objectClass(\x04)
#define OMP_O_DS_O_ORG_PERSON           dsP_objectClass(\x07)
#define OMP_O_DS_O_ORG_ROLE             dsP_objectClass(\x08)
#define OMP_O_DS_O_ORG_UNIT             dsP_objectClass(\x05)
#define OMP_O_DS_O_PERSON               dsP_objectClass(\x06)
#define OMP_O_DS_O_RESIDENTIAL_PERSON   dsP_objectClass(\x0A)
#define OMP_O_DS_O_TOP                  dsP_objectClass(\x00)
#endif   /* __BORLANDC__ */            /*@P3A*/ 


/* OM class names */

#if defined __BORLANDC__               /*@P3A*/
#define OMP_O_DS_C_FACSIMILE_PHONE_NBR  "\x2B\x0C\x02\x87\x73\x1C\x01\x86\x21"
#define OMP_O_DS_C_POSTAL_ADDRESS       "\x2B\x0C\x02\x87\x73\x1C\x01\x86\x22"
#define OMP_O_DS_C_SEARCH_CRITERION     "\x2B\x0C\x02\x87\x73\x1C\x01\x86\x23"
#define OMP_O_DS_C_SEARCH_GUIDE         "\x2B\x0C\x02\x87\x73\x1C\x01\x86\x24"
#define OMP_O_DS_C_TELETEX_TERM_IDENT   "\x2B\x0C\x02\x87\x73\x1C\x01\x86\x25"
#define OMP_O_DS_C_TELEX_NBR            "\x2B\x0C\x02\x87\x73\x1C\x01\x86\x26"
#else  /* __BORLANDC__  */             /*@P3A*/
#define OMP_O_DS_C_FACSIMILE_PHONE_NBR  dsP_bdcp_c(\x86\x21)
#define OMP_O_DS_C_POSTAL_ADDRESS       dsP_bdcp_c(\x86\x22)
#define OMP_O_DS_C_SEARCH_CRITERION     dsP_bdcp_c(\x86\x23)
#define OMP_O_DS_C_SEARCH_GUIDE         dsP_bdcp_c(\x86\x24)
#define OMP_O_DS_C_TELETEX_TERM_IDENT   dsP_bdcp_c(\x86\x25)
#define OMP_O_DS_C_TELEX_NBR            dsP_bdcp_c(\x86\x26)
#endif   /* __BORLANDC__ */            /*@P3A*/ 


/* OM attribute names */

#define DS_ANSWERBACK           ((OM_type) 801)
#define DS_COUNTRY_CODE         ((OM_type) 802)
#define DS_CRITERIA             ((OM_type) 803)
#define DS_OBJECT_CLASS         ((OM_type) 804)
#define DS_PARAMETERS           ((OM_type) 805)
#define DS_POSTAL_ADDRESS       ((OM_type) 806)
#define DS_PHONE_NBR            ((OM_type) 807)
#define DS_TELETEX_TERM         ((OM_type) 808)
#define DS_TELEX_NBR            ((OM_type) 809)


/* DS_Preferred_Delivery_Method */

#define DS_ANY_DELIV_METHOD     0
#define DS_MHS_DELIV            1
#define DS_PHYS_DELIV           2
#define DS_TELEX_DELIV          3
#define DS_TELETEX_DELIV        4
#define DS_G3_FACSIMILE_DELIV   5
#define DS_G4_FACSIMILE_DELIV   6
#define DS_IA5_TERMINAL_DELIV   7
#define DS_VIDEOTEX_DELIV       8
#define DS_PHONE_DELIV          9

/* upper bounds on string lengths and number of repeated OM attribute values */

#define DS_VL_A_BUSINESS_CATEGORY       ( (OM_value_length) 128)
#define DS_VL_A_COMMON_NAME             ( (OM_value_length) 64)
#define DS_VL_A_DESCRIPTION             ( (OM_value_length) 1024)
#define DS_VL_A_DEST_INDICATOR          ( (OM_value_length) 128)
#define DS_VL_A_INTERNAT_ISDN_NBR       ( (OM_value_length) 16)
#define DS_VL_A_LOCALITY_NAME           ( (OM_value_length) 128)
#define DS_VL_A_ORG_NAME                ( (OM_value_length) 64)
#define DS_VL_A_ORG_UNIT_NAME           ( (OM_value_length) 64)
#define DS_VL_A_PHYS_DELIV_OFF_NAME     ( (OM_value_length) 128)
#define DS_VL_A_POST_OFFICE_BOX         ( (OM_value_length) 40)
#define DS_VL_A_POSTAL_CODE             ( (OM_value_length) 40)
#define DS_VL_A_SERIAL_NBR              ( (OM_value_length) 64)
#define DS_VL_A_STATE_OR_PROV_NAME      ( (OM_value_length) 128)
#define DS_VL_A_STREET_ADDRESS          ( (OM_value_length) 128)
#define DS_VL_A_SURNAME                 ( (OM_value_length) 64)
#define DS_VL_A_PHONE_NBR               ( (OM_value_length) 32)
#define DS_VL_A_TITLE                   ( (OM_value_length) 64)
#define DS_VL_A_USER_PASSWORD           ( (OM_value_length) 128)
#define DS_VL_A_X121_ADDRESS            ( (OM_value_length) 15)
#define DS_VL_ANSWERBACK                ( (OM_value_length) 8)
#define DS_VL_COUNTRY_CODE              ( (OM_value_length) 4)
#define DS_VL_POSTAL_ADDRESS            ( (OM_value_length) 30)
#define DS_VL_PHONE_NBR                 ( (OM_value_length) 32)
#define DS_VL_TELETEX_TERM              ( (OM_value_length) 1024)
#define DS_VL_TELEX_NBR                 ( (OM_value_length) 14)
#define DS_VN_POSTAL_ADDRESS            ( (OM_value_length) 6)


#ifdef __cplusplus          /*@P1A*/
    }                       /*@P1A*/
#endif                      /*@P1A*/
#endif  /* XDSBDCP_HEADER */

#endif /* _XDSBDCP_H */
