home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / c / c083 / 19.ddi / GENINC32.PAK / WSNWLINK.H < prev   
Encoding:
C/C++ Source or Header  |  1993-12-02  |  2.6 KB  |  103 lines

  1. /*
  2.  *   wsnwlink.h
  3.  *
  4.  *   Microsoft-specific extensions to the Windows NT IPX/SPX Windows
  5.  *   Sockets interface.  These extensions are provided for use as
  6.  *   necessary for compatibility with existing applications.  They are
  7.  *   otherwise not recommended for use, as they are only guaranteed to
  8.  *   work *   over the Microsoft IPX/SPX stack.  An application which
  9.  *   uses these *   extensions may not work over other IPX/SPX
  10.  *   implementations.  Include this header file after winsock.h and
  11.  *   wsipx.h.
  12.  *
  13.  *   To open an IPX socket where a particular packet type is sent in 
  14.  *   the IPX header, specify NSPROTO_IPX + n as the protocol parameter
  15.  *   of the socket() API.  For example, to open an IPX socket that
  16.  *   sets the packet type to 34, use the following socket() call:
  17.  *
  18.  *       s = socket(AF_IPX, SOCK_DGRAM, NSPROTO_IPX + 34);
  19.  *
  20.  *   Below are socket option that may be set or retrieved by specifying
  21.  *   the appropriate manifest in the "optname" parameter of getsockopt()
  22.  *   or setsockopt().  Use NSPROTO_IPX as the "level" argument for the
  23.  *   call.
  24.  *
  25.  */
  26.  
  27. #ifndef __WSNWLINK_H
  28. #define __WSNWLINK_H
  29.  
  30. /*
  31.  *   Set/get the IPX packet type.  The value specified in the
  32.  *   optval argument will be set as the packet type on every IPX
  33.  *   packet sent from this socket.  The optval parameter of 
  34.  *   getsockopt()/setsockopt() points to an int.
  35.  *
  36.  */
  37.  
  38. #define IPX_PTYPE 0x4000
  39.  
  40. /*
  41.  *   Set/get the receive filter packet type.  Only IPX packets with
  42.  *   a packet type equal to the value specified in the optval
  43.  *   argument will be returned; packets with a packet type that
  44.  *   does not match are discarded.  optval points to an int.
  45.  *
  46.  */
  47.  
  48. #define IPX_FILTERPTYPE 0x4001
  49.  
  50. /*
  51.  *   Stop filtering on packet type.
  52.  *
  53.  */
  54.  
  55. #define IPX_STOPFILTERPTYPE 0x4003
  56.  
  57. /*
  58.  *   Set/get the value of the datastream field in the SPX header on
  59.  *   every packet sent.  optval points to an int.
  60.  *
  61.  */
  62.  
  63. #define IPX_DSTYPE 0x4002
  64.  
  65. /*
  66.  *   Enable extended addressing. Adds "unsigned char sa_ptype" to
  67.  *   the SOCKADDR_IPX structure.  optval points to a BOOL.
  68.  *
  69.  */
  70.  
  71. #define IPX_EXTENDED_ADDRESS 0x4004
  72.  
  73. /*
  74.  *   Send protocol header up on all receive packets.  optval points
  75.  *   to a BOOL.
  76.  *
  77.  */
  78.  
  79. #define IPX_RECVHDR 0x4005
  80.  
  81. /*
  82.  *   Get the maximum data size that can be sent.  Not valid with
  83.  *   setsockopt().  optval points to an int.
  84.  *
  85.  */
  86.  
  87. #define IPX_MAXSIZE 0x4006
  88.  
  89. /*
  90.  *
  91.  */
  92.  
  93. #define IPX_ADDRESS 0x4007
  94.  
  95. typedef struct _IPX_ADDRESS_DATA {
  96.     INT   adapternum;
  97.     UCHAR netnum[4];
  98.     UCHAR nodenum[6];
  99. } IPX_ADDRESS_DATA, *PIPX_ADDRESS_DATA;
  100.  
  101. #endif
  102.  
  103.