atalkwsh.h 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef _ATALKWSH_
  7. #define _ATALKWSH_
  8. #define DECIMAL_BASE 10
  9. #define ATPROTO_BASE (1000 *AF_APPLETALK)
  10. #define SOL_APPLETALK (ATPROTO_BASE)
  11. #define DDPPROTO_RTMP (ATPROTO_BASE + 1)
  12. #define DDPPROTO_NBP (ATPROTO_BASE + 2)
  13. #define DDPPROTO_ATP (ATPROTO_BASE + 3)
  14. #define DDPPROTO_AEP (ATPROTO_BASE + 4)
  15. #define DDPPROTO_RTMPRQ (ATPROTO_BASE + 5)
  16. #define DDPPROTO_ZIP (ATPROTO_BASE + 6)
  17. #define DDPPROTO_ADSP (ATPROTO_BASE + 7)
  18. #define DDPPROTO_MAX (ATPROTO_BASE + 255)
  19. #define ATPROTO_ADSP (DDPPROTO_MAX + 1)
  20. #define ATPROTO_ATP (DDPPROTO_MAX + 2)
  21. #define ATPROTO_ASP (DDPPROTO_MAX + 3)
  22. #define ATPROTO_PAP (DDPPROTO_MAX + 4)
  23. #define SO_REGISTER_NAME 0xA000
  24. #define SO_DEREGISTER_NAME 0xA001
  25. #define SO_REMOVE_NAME SO_DEREGISTER_NAME
  26. #define SO_LOOKUP_NAME 0xA002
  27. #define SO_CONFIRM_NAME 0xA003
  28. #define SO_LOOKUP_MYZONE 0xA004
  29. #define SO_GETMYZONE SO_LOOKUP_MYZONE
  30. #define SO_LOOKUP_ZONES 0xA005
  31. #define SO_GETZONELIST SO_LOOKUP_ZONES
  32. #define SO_LOOKUP_ZONES_ON_ADAPTER 0xA006
  33. #define SO_GETLOCALZONES SO_LOOKUP_ZONES_ON_ADAPTER
  34. #define SO_LOOKUP_NETDEF_ON_ADAPTER 0xA007
  35. #define SO_GETNETINFO SO_LOOKUP_NETDEF_ON_ADAPTER
  36. #define SO_PAP_SET_SERVER_STATUS 0xA007
  37. #define SO_PAP_GET_SERVER_STATUS 0xA008
  38. #define SO_PAP_PRIME_READ 0xA009
  39. #define ATADDR_ANY 0
  40. #define ATADDR_BROADCAST 0xFF
  41. #define WSAEMSGPARTIAL (WSABASEERR+100)
  42. #define MAX_PAP_STATUS_SIZE 255
  43. #define MIN_PAP_READ_BUF_SIZE 4096
  44. #define PAP_UNUSED_STATUS_BYTES 4
  45. typedef struct sockaddr_at {
  46. USHORT sat_family;
  47. USHORT sat_net;
  48. UCHAR sat_node;
  49. UCHAR sat_socket;
  50. } SOCKADDR_AT,*PSOCKADDR_AT;
  51. typedef union {
  52. struct {
  53. USHORT Network;
  54. UCHAR Node;
  55. UCHAR Socket;
  56. };
  57. ULONG Address;
  58. } WSH_ATALK_ADDRESS,*PWSH_ATALK_ADDRESS;
  59. #define MAX_ENTITY 32
  60. typedef struct {
  61. CHAR ObjectNameLen;
  62. CHAR ObjectName[MAX_ENTITY];
  63. CHAR TypeNameLen;
  64. CHAR TypeName[MAX_ENTITY];
  65. CHAR ZoneNameLen;
  66. CHAR ZoneName[MAX_ENTITY];
  67. } WSH_NBP_NAME,*PWSH_NBP_NAME;
  68. typedef struct {
  69. WSH_ATALK_ADDRESS Address;
  70. USHORT Enumerator;
  71. WSH_NBP_NAME NbpName;
  72. } WSH_NBP_TUPLE,*PWSH_NBP_TUPLE;
  73. typedef WSH_NBP_NAME WSH_REGISTER_NAME,*PWSH_REGISTER_NAME;
  74. typedef WSH_NBP_NAME WSH_DEREGISTER_NAME,*PWSH_DEREGISTER_NAME;
  75. typedef WSH_NBP_NAME WSH_REMOVE_NAME,*PWSH_REMOVE_NAME;
  76. typedef struct _WSH_LOOKUP_ZONES {
  77. ULONG NoZones;
  78. } WSH_LOOKUP_ZONES,*PWSH_LOOKUP_ZONES;
  79. typedef struct _WSH_LOOKUP_NETDEF_ON_ADAPTER {
  80. USHORT NetworkRangeLowerEnd;
  81. USHORT NetworkRangeUpperEnd;
  82. } WSH_LOOKUP_NETDEF_ON_ADAPTER,*PWSH_LOOKUP_NETDEF_ON_ADAPTER;
  83. typedef struct _WSH_LOOKUP_NAME {
  84. WSH_NBP_TUPLE LookupTuple;
  85. ULONG NoTuples;
  86. } WSH_LOOKUP_NAME,*PWSH_LOOKUP_NAME;
  87. typedef struct _WSH_PAP_GET_SERVER_STATUS {
  88. SOCKADDR_AT ServerAddr;
  89. UCHAR Reserved[PAP_UNUSED_STATUS_BYTES];
  90. UCHAR ServerStatus[MAX_PAP_STATUS_SIZE+1];
  91. } WSH_PAP_GET_SERVER_STATUS,*PWSH_PAP_GET_SERVER_STATUS;
  92. #endif