By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
449,247 Members | 1,223 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 449,247 IT Pros & Developers. It's quick & easy.

error LNK2001: Unresolved external symbol

P: 5
Im new here..didnt noe whether is this the rite way to post my problem..Really need help here..i've been stucked in this error from last wk..My problem is like this..Im using VC++ 6.0 to compile my C codes so that i could generate a dll file out of it and used in my C# program.. When I compile, got no error and no warning. But when i build it, i have these errors..

*beginning*
Expand|Select|Wrap|Line Numbers
  1. sendrcv.obj : error LNK2001: unresolved external symbol "int __cdecl CS2_RECEIVE(struct CS2AP_RDS_S *,struct CS2AP_REC_S *)" (?CS2_RECEIVE@@YAHPAUCS2AP_RDS_S@@PAUCS2AP_REC_S@@@Z)
  2. sendrcv.obj : error LNK2001: unresolved external symbol "int __cdecl CS2_SEND(struct CS2AP_RDS_S *,struct CS2AP_SND_S *)" (?CS2_SEND@@YAHPAUCS2AP_RDS_S@@PAUCS2AP_SND_S@@@Z)
  3. sendrcv.obj : error LNK2001: unresolved external symbol "int __cdecl CS2_INITIALIZE_RES(struct CS2AP_RDS_S *)" (?CS2_INITIALIZE_RES@@YAHPAUCS2AP_RDS_S@@@Z)
  4. sendrcv.obj : error LNK2001: unresolved external symbol "int __cdecl CS2_INIT(struct CS2AP_RDS_S *)" (?CS2_INIT@@YAHPAUCS2AP_RDS_S@@@Z)
  5. sendrcv.obj : error LNK2001: unresolved external symbol "int __cdecl CS2_ENCODE(struct CS2_TMP_OPT_S *,char *,char *,unsigned long)" (?CS2_ENCODE@@YAHPAUCS2_TMP_OPT_S@@PAD1K@Z)
  6. sendrcv.obj : error LNK2001: unresolved external symbol "int __cdecl CS2_GET_TBUF_SIZE(struct CS2_TMP_OPT_S *,unsigned short,char *,char *)" (?CS2_GET_TBUF_SIZE@@YAHPAUCS2_TMP_OPT_S@@GPAD1@Z)
  7. sendrcv.obj : error LNK2001: unresolved external symbol "int __cdecl CS2_PURGE_RES(struct CS2AP_RDS_S *)" (?CS2_PURGE_RES@@YAHPAUCS2AP_RDS_S@@@Z)
  8. sendrcv.obj : error LNK2001: unresolved external symbol "int __cdecl CS2_STOP_RES(struct CS2AP_RDS_S *)" (?CS2_STOP_RES@@YAHPAUCS2AP_RDS_S@@@Z)
  9. Debug/sendrcv.dll : fatal error LNK1120: 8 unresolved externals
  10. Error executing link.exe.
  11.  
  12. sendrcv.dll - 9 error(s), 0 warning(s)
  13.  
*end*

I have already put in the directories for Library and Header files.. But stil, these errors were there..is ther anyway that i can solve this??Pls..extremely need help..thanks..
May 3 '07 #1
Share this Question
Share on Google+
5 Replies


Expert 100+
P: 181
Are these functions defined the same way they are declared. Usually if you c code in C++ you have to use externc c keyword. This stops name mangling problem. I dont have much idea about integrating c and c# code. :(.

It would be great if you post your code as well.
May 3 '07 #2

P: 5
Expand|Select|Wrap|Line Numbers
  1. #include <stdio.h>
  2. #include <stdlib.h>
  3. #define CS2_INCL_CO_CMD
  4. #define CS2_INCL_CO_DFN
  5. #define CS2_INCL_CO_ERR
  6. #define CS2_INCL_PC
  7. #define CS2_INCL_MT
  8. #define CS2_INCL_XP
  9. #include <cs2.h>
  10. #define  MSGLEN (81)
  11. #define  YES (1)
  12. #define  FOREVER (1)
  13. #define  OPTION (1)
  14. #define  MYPRIORITY (10)
  15.  
  16. typedef struct tx021i{
  17.     char trx_id[5];
  18.     char type_id[1];
  19.     char operno[8];
  20.     char password[8];
  21.     char chktype[1];
  22.     char chkauth[1];
  23. }TX021I;
  24. typedef struct tx021o{
  25.     char trx_id[5];
  26.     char type_id[1];
  27.     char retcode1[4];
  28.     char operno[8];
  29.     char password[8];
  30.     char userauth[3];
  31.     char opername[20];
  32.     char operdept[20];
  33.     char opersupe[20];
  34. }TX021O;
  35.  
  36. CS2AP_RSN_T  rsn1;                /* Originator Resource Name Structure  */
  37. CS2AP_RSN_T  rsn2;                /* Destination Resource Name Structure */
  38. CS2AP_RDS_T rds;                  /* Request Data Structure              */
  39. CS2AP_SND_T snd;                  /* SEND data structure                 */
  40. XP_TEMPLATE_T  mytemplt[3] =      /* TEMPLATE structure                  */
  41.                    { { 1, XP_STR, 1 },
  42.                    { MSGLEN, XP_C, 1 },
  43.                    { 0, XP_EOT, 0 } };
  44. typedef struct CS2_TMP_OPT_S CS2_TMP_OPT_T;
  45. CS2_TMP_OPT_T  tmp_opt = {0};     /* Template Options Structure          */
  46. struct CS2AP_REC_S rcv;               /* Receive data structure          */
  47. struct CS2AP_PFX_S pfx;               /* Prefix data structure           */
  48. char msg[MSGLEN] = {"This is a test msg for explicit data transparency"};
  49. char *wrk_area;                /* ptr to new buffer needed for encoding  */
  50. TX021O  tx021O;
  51. TX021I  tx021I;
  52.  
  53. void cleanup();
  54. void dtinit();
  55. void exp_dt();
  56. void dec_data();
  57.  
  58. main( int argc,
  59.       char **argv )
  60. {
  61.     char *sendaddr;
  62.     char *rcvaddr;
  63.     if(argc!=3)
  64.     {
  65.       printf("invoke this way: DTESEND ORIG DEST \n");
  66.       exit(0);
  67.     }
  68.     memset(&rds,'\0',sizeof(struct CS2AP_RDS_S));      /* initialize RDS */
  69.     CS2_INIT(&rds);                          /* establish addressability */
  70.     if(rds.cnretcd)
  71.     {
  72.       printf("error: CS/2 not loaded\n");
  73.       exit(1);
  74.     }
  75.     rsn1.rsname=argv[1];                     /* init originator resource */
  76.     rsn2.rsname=argv[2];                     /* init destination resource*/
  77. /*************************************************************************/
  78. /* Call CS2_INITIALIZE_RES to bring in originator resource ACB.          */
  79. /*************************************************************************/
  80.     rds.priority=MYPRIORITY;
  81.     rds.orig=&rsn1;
  82.     CS2_INITIALIZE_RES(&rds);
  83.     if(rds.cnretcd||rds.osretcd)
  84.     {
  85.       printf("cs2_initialize_res failed, rc=%d\n",
  86.       rds.cnretcd);
  87.       cleanup();
  88.     }
  89.     rds.dest=&rsn2;
  90.     rds.ack=NULL;
  91.     rds.timeout=30000L;
  92.     rds.priority=MYPRIORITY;
  93. //    dtinit();      /* init data transparency template and option structs */
  94.     exp_dt();                   /* explicit data transparency procedure  */
  95.     memset( (char *)&tx021I, 0x20, sizeof(tx021I));
  96.     memcpy( tx021I.trx_id, "TX021", sizeof(tx021I.trx_id));
  97.     memcpy( tx021I.type_id, "I", sizeof(tx021I.type_id));
  98.     memcpy( tx021I.operno, "80010   ", sizeof(tx021I.operno));
  99.     memcpy( tx021I.chktype, "N", sizeof(tx021I.chktype));
  100.     memcpy( tx021I.chkauth, "N", sizeof(tx021I.chkauth));
  101.     sendaddr = (char *)&tx021I;
  102.     printf("input data is %.100s\n",tx021I.trx_id);
  103.     snd.msglen = sizeof(TX021I);
  104.     snd.msg = sendaddr;
  105.     CS2_SEND(&rds,&snd);
  106.     if(rds.cnretcd)
  107.     {
  108.       printf("cs2_send failed, rc=%d\n",
  109.       rds.cnretcd);
  110.       cleanup();
  111.     }
  112.     memset( (char *)&tx021O, 0x20, sizeof(tx021O));
  113.       rcvaddr = (char *)&tx021O;
  114.     memset(&rcv, 0x00, sizeof(CS2AP_REC_T));
  115.     memset(&pfx, 0x00, sizeof(CS2AP_PFX_T));
  116.     rcv.buflen= sizeof(TX021O);                       /* no del disk q           */
  117.     rcv.buf=rcvaddr;                              /* address of selective re */
  118.     rcv.prefix=&pfx;                          /* length of receive buff  */
  119.     rcv.option1=OPTION;                       /* address of receive buff */
  120.     rcv.option2=0;                            /* address of prefix struc */
  121.     rcv.selname=NULL;                         /* copy as much as you can */
  122.     strncpy(rds.dest->rsname, rds.orig->rsname, CS2RSNAMSIZ_N);
  123.     CS2_RECEIVE(&rds,&rcv);
  124.     printf("output data is %.100s\n",tx021O.trx_id);
  125.     if(rds.cnretcd != CS2_OK && rds.cnretcd != CS2_RECBUF_SML)
  126.     {
  127.       printf ("cs2_receive failed, rc=%d\n",rds.cnretcd);
  128.       cleanup();
  129.     }
  130. //     if (tmp_opt.encode == XP_ENCODED ||            /* if message is    */
  131. //        tmp_opt.encode == XP_TAG_ENCODED)          /* encoded.....     */
  132. //      dec_data();                                  /* decode the data  */
  133.     printf("Orig Resource: %17s\n",pfx.orig);
  134.     printf("Dest Resource: %17s\n",pfx.dest);
  135.     printf("Message: ");
  136.     puts(wrk_area);
  137.     printf("\n");
  138.     free(wrk_area);                               /* free storage        */
  139.     cleanup();                                    /* STOP and PURGE ACB  */
  140. }
  141.  
  142. /**********************************************/
  143. /*  Initialize template and option structures */
  144. /**********************************************/
  145. //void dtinit()
  146. //{
  147. //  tmp_opt.template  = mytemplt;       /* Assign pointer to template      */
  148. //  tmp_opt.align     = XP_ALIGN;       /* Set alignment to boundary align */
  149. //  rds.template      = &tmp_opt;       /* Set template options ptr in RDS */
  150. //}
  151.  
  152. /**********************************************/
  153. /*  EXPLICIT data transparency                */
  154. /**********************************************/
  155. void exp_dt()
  156. {
  157.   int rc1;
  158.   tmp_opt.tag     = XP_NOTAG;         /* NO tags in data.                */
  159.   rc1 =
  160.    CS2_GET_TBUF_SIZE(&tmp_opt,            /* calculate size of buffer    */
  161.                                           /* needed for this template    */
  162.                      XP_ENCODE,           /* calculate based on encode   */
  163.                      0,                   /* field not used for encode   */
  164.                      0);                  /* field not used for encode   */
  165.   if (rc1)
  166.   {
  167.     printf("cs2_get_tbuf_size failed, rc=%d\n",rc1);
  168.     cleanup();
  169.   }
  170.   wrk_area = (char *)malloc(tmp_opt.dest_indx*sizeof(char));
  171.   if (wrk_area== NULL)
  172.   {
  173.     printf("malloc failed\n");
  174.     cleanup();
  175.   }
  176.   rc1 =
  177.    CS2_ENCODE(&tmp_opt,                   /* calculate size of buffer    */
  178.               (char CS2_FAR *)msg,        /* message to encode           */
  179.               (char CS2_FAR *)wrk_area,   /* encode into here            */
  180.               tmp_opt.dest_indx);         /* for this many               */
  181.   if (rc1)
  182.   {
  183.     printf("cs2_encode failed, rc=%d\n",rc1);
  184.     cleanup();
  185.   }
  186.   tmp_opt.encode  = XP_ENCODED;      /* Tells SEND API data is already  */
  187.   snd.msglen= tmp_opt.dest_indx;              /* length of message      */
  188.   snd.msg=(CS2_ADDRESS)wrk_area;              /* point to message       */
  189. }
  190.  
  191. /**********************************************/
  192. /*  cleanup                                   */
  193. /**********************************************/
  194. void cleanup()
  195. {
  196.   rds.orig = rds.dest = &rsn1;
  197.   CS2_STOP_RES(&rds);                             /* STOP ACB            */
  198.   CS2_PURGE_RES(&rds);                            /* PURGE ACB           */
  199.   exit(0);                                        /* exit                */
  200. }
  201.  
  202. /**********************************************/
  203. /*  Decode the data received                  */
  204. /**********************************************/
  205. //void dec_data()
  206. //{
  207. //  int rc1;
  208. //  rc1 =
  209. //   CS2_GET_TBUF_SIZE(&tmp_opt,            /* calculate size of buffer    */
  210. //                                          /* needed for this template    */
  211. //                     XP_DECODE,           /* calculate based on decode   */
  212. //                     0,                   /* 0 if template provided      */
  213. //                     0);                  /* malloc will handle alignment*/
  214. //  if (rc1)
  215. //  {
  216. //    printf("cs2_get_tbuf_size failed, rc=%d\n",rc1);
  217. //    cleanup();
  218. //  }
  219. //  wrk_area = (char*)malloc(tmp_opt.dest_indx * sizeof(char));
  220. //                                                      /* for decoding    */
  221. //  if (wrk_area== NULL)
  222. //  {
  223. //    printf("malloc failed\n");
  224. //   cleanup();
  225. //  }
  226. //  if (tmp_opt.encode == XP_TAG_ENCODED) {
  227. //    tmp_opt.tag = XP_TAG;                 /* Tells DECODE;  encoded data */
  228. //  } else {                                /* have embedded tags          */
  229. //    tmp_opt.tag = XP_NOTAG;               /* Tells DECODE;  have no      */
  230. //    tmp_opt.template = mytemplt;          /* Assign pointer to template  */
  231. //  } /* endif */
  232. //  rc1 =
  233. //   CS2_DECODE(&tmp_opt,                   /* address of template opt. struc */
  234. //              (CS2_ADDRESS) rcv.buf,      /* message to decode           */
  235. //              (CS2_ADDRESS) wrk_area,     /* decode into here            */
  236. //              tmp_opt.dest_indx);         /* for this many               */
  237. //  if (rc1)
  238. //  {
  239. //    printf("cs2_decode failed, rc=%d\n",rc1);
  240. //    cleanup();
  241. //  }
  242. //}
May 3 '07 #3

Expert 100+
P: 181
You have not posted your code in cs2.h

I had following observations which could be source for your error.
1) function cleanup calls [size=2]CS2_STOP_RES(), i donno this is macro or function, but i guess its not defined. your linker is throwing an error that its not defined
2)CS2_RECEIVE(struct CS2AP_RDS_S *,struct CS2AP_REC_S *) is not defined or defined differently. this has a call from main.


Probably yopu have much more source files. You can figure out other linker errors as well.
May 3 '07 #4

P: 5
didn't noe y..i stil cant get to link the files together..anyway,those CS2_*** has actually been defined in the header,cs2.h..but then..im actually leaving this first..my purpose of doin this send and receive thing is bcos i need to prove that using VC++6.0, compile a C++ codes into a DLL file can be used in VS.NET, called by a C# codes..therefore, i've chosen a better way to prove it which is writing a simple code so that it's faster. But then, I'd like to ask, can this actually be done? and,i've tried to compile the dll file out of VC++6.0, but it cannot be used in VS.NET. I cant get to add the reference in. Due to this, my fren actually asked me to try building the DLL file using VS,NET(DLL file is known as class library in VS.NET).I did give it a try and i manage to compile n build it..i also manage to add reference into the source. But eventhough i manage to add it in as a reference,but stil, i cant use the function. What else do i need to do?or is ther any other way that i can do this?
May 4 '07 #5

P: 5
Here is the cs2.h codes. Sorry for the late posting.

Expand|Select|Wrap|Line Numbers
  1. #if !defined(CS2_H)  /*  Allow others to prevent inclusion if         */
  2.                      /*  necessary (i.e.  cs216tsr.h).  Otherwise, do */
  3.                      /*  not stop multiple passes - done for user     */
  4.                      /*  convenience.                                 */
  5. #ifdef __32BIT__     /* used strictly for C Set/2 on OS/2 2.0         */
  6. #pragma pack(4)
  7. #endif
  8.  
  9. #if !defined(CS2MDEP_H)
  10. #include <cs2mdep.h>
  11. #endif
  12.  
  13. #if !defined(CS2XPTGI_H)
  14. #include <cs2xptgi.h>
  15. #endif
  16.  
  17. #if !defined(CS232XPT_H)
  18. #include <cs232xpt.h>
  19. #endif
  20.  
  21. #if !defined(CS2CONST_H)
  22. #include <cs2const.h>
  23. #endif
  24.  
  25. #if !defined(CS2COMER_H)
  26. #include <cs2comer.h>
  27. #endif
  28. /* ------------------------------------------------------------------ */
  29. /*                       Control Block Includes                       */
  30. /* ------------------------------------------------------------------ */
  31. #if defined(CS2_INCL_CB_ACB) ||\
  32.     defined(CS2_INCL_CB_ANB) ||\
  33.     defined(CS2_INCL_CB_CAC) ||\
  34.     defined(CS2_INCL_CB_CCB) ||\
  35.     defined(CS2_INCL_CB_DBB) ||\
  36.     defined(CS2_INCL_CB_DCB) ||\
  37.     defined(CS2_INCL_CB_DFN) ||\
  38.     defined(CS2_INCL_CB_GCB) ||\
  39.     defined(CS2_INCL_CB_ICB) ||\
  40.     defined(CS2_INCL_CB_LCB) ||\
  41.     defined(CS2_INCL_CB_MCB) ||\
  42.     defined(CS2_INCL_CB_MGA) ||\
  43.     defined(CS2_INCL_CB_MGQ) ||\
  44.     defined(CS2_INCL_CB_PCB) ||\
  45.     defined(CS2_INCL_CB_QCB) ||\
  46.     defined(CS2_INCL_CB_RCB) ||\
  47.     defined(CS2_INCL_CB_RD)  ||\
  48.     defined(CS2_INCL_CB_RDH) ||\
  49.     defined(CS2_INCL_CB_TCB) ||\
  50.     defined(CS2_INCL_CB_UCB) ||\
  51.     defined(CS2_INCL_CB_VCB)
  52.        #include <cs2cb.h>
  53. #endif
  54. /* ------------------------------------------------------------------ */
  55. /*                  Nib Segment Structure Includes                    */
  56. /* ------------------------------------------------------------------ */
  57. #if defined(CS2_INCL_NS_BL)  ||\
  58.     defined(CS2_INCL_NS_CNF) ||\
  59.     defined(CS2_INCL_NS_CSS) ||\
  60.     defined(CS2_INCL_NS_DBS) ||\
  61.     defined(CS2_INCL_NS_ICD) ||\
  62.     defined(CS2_INCL_NS_NET) ||\
  63.     defined(CS2_INCL_NS_NMS) ||\
  64.     defined(CS2_INCL_NS_POL) ||\
  65.     defined(CS2_INCL_NS_RD)  ||\
  66.     defined(CS2_INCL_NS_TQS) ||\
  67.     defined(CS2_INCL_NS_TRA) ||\
  68.     defined(CS2_INCL_NS_UIS) ||\
  69.     defined(CS2_INCL_NS_VID)
  70.        #include <cs2ns.h>
  71. #endif
  72. /* ------------------------------------------------------------------ */
  73. /*                      Common File Includes                          */
  74. /* ------------------------------------------------------------------ */
  75. #if defined(CS2_INCL_CO_BIT)  ||\
  76.     defined(CS2_INCL_CO_CMD)  ||\
  77.     defined(CS2_INCL_CO_DFN)  ||\
  78.     defined(CS2_INCL_CO_MIX)  ||\
  79.     defined(CS2_INCL_CO_RDS)  ||\
  80.     defined(CS2_INCL_CO_RES)  ||\
  81.     defined(CS2_INCL_CO_RWA)  ||\
  82.     defined(CS2_INCL_CO_RWC)  ||\
  83.     defined(CS2_INCL_CO_SCH)  ||\
  84.     defined(CS2_INCL_CO_SEM)  ||\
  85.     defined(CS2_INCL_CO_SRQ)  ||\
  86.     defined(CS2_INCL_CO_TIM)  ||\
  87.     defined(CS2_INCL_CO_VER)
  88.        #include <cs2cofil.h>
  89. #endif
  90. /* ------------------------------------------------------------------ */
  91. /*                      Return Code Includes                          */
  92. /* ------------------------------------------------------------------ */
  93. #if defined(CS2_INCL_AS_ERR)     ||\
  94.     defined(CS2_INCL_AX_ERR)     ||\
  95.     defined(CS2_INCL_BL_ERR)     ||\
  96.     defined(CS2_INCL_CN_ERR)     ||\
  97.     defined(CS2_INCL_DB_ERR)     ||\
  98.     defined(CS2_INCL_DC_ERR)     ||\
  99.     defined(CS2_INCL_DM_ERR)     ||\
  100.     defined(CS2_INCL_DQ_ERR)     ||\
  101.     defined(CS2_INCL_DT_ERR)     ||\
  102.     defined(CS2_INCL_EC_ERR)     ||\
  103.     defined(CS2_INCL_FS_ERR)     ||\
  104.     defined(CS2_INCL_GB_ERR)     ||\
  105.     defined(CS2_INCL_HL_ERR)     ||\
  106.     defined(CS2_INCL_IN_ERR)     ||\
  107.     defined(CS2_INCL_IR_ERR)     ||\
  108.     defined(CS2_INCL_NC_ERR)     ||\
  109.     defined(CS2_INCL_NL_ERR)     ||\
  110.     defined(CS2_INCL_NM_ERR)     ||\
  111.     defined(CS2_INCL_OI_ERR)     ||\
  112.     defined(CS2_INCL_PS_ERR)     ||\
  113.     defined(CS2_INCL_RD_ERR)     ||\
  114.     defined(CS2_INCL_RT_ERR)     ||\
  115.     defined(CS2_INCL_SC_ERR)     ||\
  116.     defined(CS2_INCL_ST_ERR)     ||\
  117.     defined(CS2_INCL_SU_ERR)     ||\
  118.     defined(CS2_INCL_TM_ERR)     ||\
  119.     defined(CS2_INCL_TQ_ERR)     ||\
  120.     defined(CS2_INCL_UI_ERR)     ||\
  121.     defined(CS2_INCL_VM_ERR)     ||\
  122.     defined(CS2_INCL_XP_ERR)     ||\
  123.     defined(CS2_INCL_32_ERR)
  124.        #include <cs2coier.h>
  125. #endif
  126. /* ------------------------------------------------------------------ */
  127. /*                      External API Includes                         */
  128. /* ------------------------------------------------------------------ */
  129. #if defined(CS2_INCL_AH)     ||\
  130.     defined(CS2_INCL_BL)     ||\
  131.     defined(CS2_INCL_CF)     ||\
  132.     defined(CS2_INCL_DB)     ||\
  133.     defined(CS2_INCL_DC)     ||\
  134.     defined(CS2_INCL_DM)     ||\
  135.     defined(CS2_INCL_DQ)     ||\
  136.     defined(CS2_INCL_DS)     ||\
  137.     defined(CS2_INCL_DT)     ||\
  138.     defined(CS2_INCL_EC)     ||\
  139.     defined(CS2_INCL_GB)     ||\
  140.     defined(CS2_INCL_IR)     ||\
  141.     defined(CS2_INCL_LM)     ||\
  142.     defined(CS2_INCL_MT)     ||\
  143.     defined(CS2_INCL_NC)     ||\
  144.     defined(CS2_INCL_NL)     ||\
  145.     defined(CS2_INCL_NM)     ||\
  146.     defined(CS2_INCL_OI)     ||\
  147.     defined(CS2_INCL_PC)     ||\
  148.     defined(CS2_INCL_PS)     ||\
  149.     defined(CS2_INCL_RD)     ||\
  150.     defined(CS2_INCL_RT)     ||\
  151.     defined(CS2_INCL_SC)     ||\
  152.     defined(CS2_INCL_SIG)    ||\
  153.     defined(CS2_INCL_ST)     ||\
  154.     defined(CS2_INCL_SU)     ||\
  155.     defined(CS2_INCL_TM)     ||\
  156.     defined(CS2_INCL_TQ)     ||\
  157.     defined(CS2_INCL_UI)     ||\
  158.     defined(CS2_INCL_VM)     ||\
  159.     defined(CS2_INCL_XP)
  160.        #include <cs2coapi.h>
  161. #endif
  162. /* ------------------------------------------------------------------ */
  163. /*                      Internal API Includes                         */
  164. /* ------------------------------------------------------------------ */
  165. #if defined(CS2_INCL_BLSYS)  ||\
  166.     defined(CS2_INCL_ECSYS)  ||\
  167.     defined(CS2_INCL_FSSYS)  ||\
  168.     defined(CS2_INCL_MTSYS)  ||\
  169.     defined(CS2_INCL_MYSYS)  ||\
  170.     defined(CS2_INCL_PCSYS)  ||\
  171.     defined(CS2_INCL_PSSYS)  ||\
  172.     defined(CS2_INCL_STSYS)  ||\
  173.     defined(CS2_INCL_TQSYS)
  174.        #include <cs2cosys.h>
  175. #endif
  176.  
  177. #ifdef __32BIT__     /* used strictly for C Set/2 on OS/2 2.0 */
  178. #pragma pack()
  179. #endif
  180.  
  181. #endif
May 18 '07 #6

Post your reply

Sign in to post your reply or Sign up for a free account.