home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 1999 March B / SCO_CASTOR4RRT.iso / nwnet / root / usr / include / sys / nwportable.h / nwportable
Text File  |  1998-08-19  |  4KB  |  129 lines

  1. /*
  2.  * Copyright (c) 1998 The Santa Cruz Operation, Inc.. All Rights Reserved. 
  3.  *                                                                         
  4.  *        THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF THE               
  5.  *                   SANTA CRUZ OPERATION INC.                             
  6.  *                                                                         
  7.  *   The copyright notice above does not evidence any actual or intended   
  8.  *   publication of such source code.                                      
  9.  */
  10.  
  11. /* $Novell-NWU: $Header: /proj6/ncps/nwu_top/nwnet/include/sys/nwportable.h,v 1.4 1996/04/05 21:56:12 vtag Exp $ */
  12.  
  13. /*
  14.  * Copyright 1991, 1992 Novell, Inc.
  15.  * All Rights Reserved.
  16.  *
  17.  * This work is subject to U.S. and International copyright laws and
  18.  * treaties.  No part of this work may be used, practiced, performed,
  19.  * copied, distributed, revised, modified, translated, abridged,
  20.  * condensed, expanded, collected, compiled, linked, recast,
  21.  * transformed or adapted without the prior written consent
  22.  * of Novell.  Any use or exploitation of this work without
  23.  * authorization could subject the perpetrator to criminal and
  24.  * civil liability.
  25.  */
  26.  
  27. /*
  28. **    Max length of a netware server name, must stay outside of wrapper
  29. */
  30. #ifndef NWMAX_SERVER_NAME_LENGTH
  31. #define NWMAX_SERVER_NAME_LENGTH      48
  32. #endif
  33.  
  34. #ifndef _NET_NW_NWPORTABLE_H  /* wrapper symbol for kernel use */
  35. #define _NET_NW_NWPORTABLE_H  /* subject to change without notice */
  36.  
  37. #ident "@(#)nwportable.h    1.2"
  38.  
  39. /*
  40. **    Definitions required for application include files
  41. */
  42.  
  43. /*    Define base types. */
  44.  
  45. typedef    unsigned long        uint32;    /* 32-bit unsigned type */
  46. typedef    unsigned short        uint16;    /* 16-bit unsigned type */
  47. typedef    unsigned char        uint8;    /* 8-bit unsigned type */     
  48.  
  49. typedef    long                int32;    /* 32-bit signed type */
  50. typedef    short                int16;    /* 16-bit signed type */
  51. typedef char                int8;    /* 8-bit signed type */
  52.  
  53. /* Define base types, same as those above but with "np" suffix,
  54.  * defined so that the compiler doesn't try to align these types
  55.  * (causing padding in structure definitions) ("np" stands for "no
  56.  * padding").
  57.  *
  58.  * When defining structures for which you wish NO PADDING, bracket the
  59.  * structure with #include's of nopad.h and nopadoff.h, and use these
  60.  * "np" types in the structure rather than the "naturally aligned"
  61.  * base types above.
  62.  *
  63.  * NOTE: On some platforms (such as HPUX), the "nopadding" directives
  64.  * (from nopad.h and nopadoff.h) MUST be at global scope (i.e. outside
  65.  * all bracketed blocks ({}).  Thus, when defining unpadded
  66.  * structures, both the #includes of nopad.h and nopadoff.h, as well
  67.  * as the structure definition itself must be at global scope.
  68.  *
  69.  * NOTE how the definitions below are themselves within #include
  70.  * nopad.h/nopadoff.h above and below.  This bracketing of the
  71.  * typedefs of the base types is crucial on HPUX and superfluous on
  72.  * most other platforms (such as UnixWare).
  73.  */
  74.  
  75. #ifdef _KERNEL_HEADERS
  76. #include <nwu/nwnet/include/unixware/nopad.h>
  77. #else
  78. #include "sys/nopad.h"
  79. #endif
  80.  
  81. typedef    unsigned long        uint32np;    /* "npadding" 32-bit unsigned type */
  82. typedef    unsigned short        uint16np;    /* "npadding" 16-bit unsigned type */
  83. typedef    unsigned char        uint8np;    /* "npadding" 8-bit unsigned type */     
  84. typedef    long                int32np;    /* "npadding" 32-bit signed type */
  85. typedef    short                int16np;    /* "npadding" 16-bit signed type */
  86. typedef char                int8np;        /* "npadding" 8-bit signed type */
  87.  
  88. #ifdef _KERNEL_HEADERS
  89. #include <nwu/nwnet/include/unixware/nopadoff.h>
  90. #else
  91. #include "sys/nopadoff.h"
  92. #endif
  93.  
  94. /* For compatibility with native NetWare source code. */
  95. #ifndef LONG
  96. #define LONG    unsigned long
  97. #endif
  98. #ifndef WORD
  99. #define WORD    unsigned short
  100. #endif
  101. #ifndef BYTE
  102. #define BYTE    unsigned char
  103. #endif
  104.  
  105. /* Standard constants */
  106. #ifndef TRUE
  107. #define    TRUE        1    
  108. #endif
  109. #ifndef FALSE
  110. #define    FALSE        0
  111. #endif
  112.  
  113. #ifndef NULL
  114. #define NULL                     0
  115. #endif
  116.  
  117. /* these defines are used at the NCP layer as response values to the requestors.
  118. ** Some of the other layers have been using these defines, which is ok, but
  119. ** do not change their values.
  120. */
  121. #ifndef SUCCESS
  122. #define SUCCESS                  0x00
  123. #endif
  124. #ifndef FAILURE
  125. #define FAILURE                  0xFF
  126. #endif
  127.  
  128. #endif /* _NET_NW_NWPORTABLE_H */
  129.