JwaWSipx.pas
上传用户:davidchvip
上传日期:2009-07-28
资源大小:1749k
文件大小:5k
源码类别:

Windows编程

开发平台:

Delphi

  1. {******************************************************************************}
  2. {                                                                       }
  3. { Winsock2 IPX API interface Unit for Object Pascal                            }
  4. {                                                                       }
  5. { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft          }
  6. { Corporation. All Rights Reserved.                                            }
  7. {                 }
  8. { The original file is: wsipx.h, released June 2000. The original Pascal       }
  9. { code is: WSIpx.pas, released December 2000. The initial developer of the     }
  10. { Pascal code is Marcel van Brakel (brakelm@chello.nl).                        }
  11. {                                                                              }
  12. { Portions created by Marcel van Brakel are Copyright (C) 1999-2001            }
  13. { Marcel van Brakel. All Rights Reserved.                                      }
  14. {                 }
  15. { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI)        }
  16. {                }
  17. { You may retrieve the latest version of this file at the Project JEDI home    }
  18. { page, located at http://delphi-jedi.org or my personal homepage located at   }
  19. { http://members.chello.nl/m.vanbrakel2                                        }
  20. {                }
  21. { The contents of this file are used with permission, subject to the Mozilla   }
  22. { Public License Version 1.1 (the "License"); you may not use this file except }
  23. { in compliance with the License. You may obtain a copy of the License at      }
  24. { http://www.mozilla.org/MPL/MPL-1.1.html                                      }
  25. {                                                                              }
  26. { Software distributed under the License is distributed on an "AS IS" basis,   }
  27. { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
  28. { the specific language governing rights and limitations under the License.    }
  29. {                                                                              }
  30. { Alternatively, the contents of this file may be used under the terms of the  }
  31. { GNU Lesser General Public License (the  "LGPL License"), in which case the   }
  32. { provisions of the LGPL License are applicable instead of those above.        }
  33. { If you wish to allow use of your version of this file only under the terms   }
  34. { of the LGPL License and not to allow others to use your version of this file }
  35. { under the MPL, indicate your decision by deleting  the provisions above and  }
  36. { replace  them with the notice and other provisions required by the LGPL      }
  37. { License.  If you do not delete the provisions above, a recipient may use     }
  38. { your version of this file under either the MPL or the LGPL License.          }
  39. {                 }
  40. { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
  41. {                 }
  42. {******************************************************************************}
  43. unit JwaWSipx;
  44. {$WEAKPACKAGEUNIT}
  45. {$HPPEMIT ''}
  46. {$HPPEMIT '#include "wsipx.h"'}
  47. {$HPPEMIT ''}
  48. {$I WINDEFINES.INC}
  49. interface
  50. //
  51. //   Microsoft Windows
  52. //   Copyright (C) Microsoft Corporation, 1992-1999.
  53. //
  54. //   Windows Sockets include file for IPX/SPX.  This file contains all
  55. //   standardized IPX/SPX information.  Include this header file after
  56. //   winsock.h.
  57. //
  58. //   To open an IPX socket, call socket() with an address family of
  59. //   AF_IPX, a socket type of SOCK_DGRAM, and protocol NSPROTO_IPX.
  60. //   Note that the protocol value must be specified, it cannot be 0.
  61. //   All IPX packets are sent with the packet type field of the IPX
  62. //   header set to 0.
  63. //
  64. //   To open an SPX or SPXII socket, call socket() with an address
  65. //   family of AF_IPX, socket type of SOCK_SEQPACKET or SOCK_STREAM,
  66. //   and protocol of NSPROTO_SPX or NSPROTO_SPXII.  If SOCK_SEQPACKET
  67. //   is specified, then the end of message bit is respected, and
  68. //   recv() calls are not completed until a packet is received with
  69. //   the end of message bit set.  If SOCK_STREAM is specified, then
  70. //   the end of message bit is not respected, and recv() completes
  71. //   as soon as any data is received, regardless of the setting of the
  72. //   end of message bit.  Send coalescing is never performed, and sends
  73. //   smaller than a single packet are always sent with the end of
  74. //   message bit set.  Sends larger than a single packet are packetized
  75. //   with the end of message bit set on only the last packet of the
  76. //   send.
  77. //
  78. //
  79. //   This is the structure of the SOCKADDR structure for IPX and SPX.
  80. //
  81. type
  82.   SOCKADDR_IPX = record
  83.     sa_family: Smallint;
  84.     sa_netnum: array [0..3] of Char;
  85.     sa_nodenum: array [0..5] of Char;
  86.     sa_socket: Word;
  87.   end;
  88.   {$EXTERNALSYM SOCKADDR_IPX}
  89.   PSOCKADDR_IPX = ^SOCKADDR_IPX;
  90.   {$EXTERNALSYM PSOCKADDR_IPX}
  91.   LPSOCKADDR_IPX = ^SOCKADDR_IPX;
  92.   {$EXTERNALSYM LPSOCKADDR_IPX}
  93.   TSockAddrIPX = SOCKADDR_IPX;
  94.   PSockAddrIPX = LPSOCKADDR_IPX;
  95. //
  96. //   Protocol families used in the "protocol" parameter of the socket() API.
  97. //
  98. const
  99.   NSPROTO_IPX   = 1000;
  100.   {$EXTERNALSYM NSPROTO_IPX}
  101.   NSPROTO_SPX   = 1256;
  102.   {$EXTERNALSYM NSPROTO_SPX}
  103.   NSPROTO_SPXII = 1257;
  104.   {$EXTERNALSYM NSPROTO_SPXII}
  105. implementation
  106. end.