ws2dnet.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  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 WS2DNET_H
  7. #define WS2DNET_H
  8. #include <winsock2.h>
  9. #pragma pack(push,ws2dnet,1)
  10. #define DNPROTO_NSP 1
  11. #define DNPROTO_RAW 255
  12. #define DN_MAXADDL 20
  13. #define DN_ADDL 2
  14. #define DN_MAXOPTL 16
  15. #define DN_MAXOBJL 16
  16. #define DN_MAXACCL 39
  17. #define DN_MAXALIASL 128
  18. #define DN_MAXNODEL 7
  19. #define WS2API_DECNET_dnet_addr 1
  20. #define WS2API_DECNET_dnet_eof 2
  21. #define WS2API_DECNET_dnet_getacc 3
  22. #define WS2API_DECNET_dnet_getalias 4
  23. #define WS2API_DECNET_dnet_htoa 5
  24. #define WS2API_DECNET_dnet_ntoa 6
  25. #define WS2API_DECNET_getnodeadd 7
  26. #define WS2API_DECNET_getnodebyaddr 8
  27. #define WS2API_DECNET_getnodebyname 9
  28. #define WS2API_DECNET_getnodename 10
  29. #define WS2API_DECNET_MAX 10
  30. typedef struct dn_naddr {
  31. unsigned short a_len;
  32. unsigned char a_addr[DN_MAXADDL];
  33. } DNNADDR,*LPDNNADDR;
  34. typedef struct sockaddr_dn {
  35. unsigned short sdn_family;
  36. unsigned char sdn_flags;
  37. unsigned char sdn_objnum;
  38. unsigned short sdn_objnamel;
  39. char sdn_objname[DN_MAXOBJL];
  40. struct dn_naddr sdn_add;
  41. } SOCKADDRDN,*LPSOCKADDRDN;
  42. #define sdn_nodeaddrl sdn_add.a_len
  43. #define sdn_nodeaddr sdn_add.a_addr
  44. #define DNOBJECT_FAL 17
  45. #define DNOBJECT_NICE 19
  46. #define DNOBJECT_DTERM 23
  47. #define DNOBJECT_MIRROR 25
  48. #define DNOBJECT_EVR 26
  49. #define DNOBJECT_MAIL11 27
  50. #define DNOBJECT_PHONE 29
  51. #define DNOBJECT_CTERM 42
  52. #define DNOBJECT_DTR 63
  53. typedef struct nodeent_f {
  54. char *n_name;
  55. unsigned short n_addrtype;
  56. unsigned short n_length;
  57. unsigned char *n_addr;
  58. unsigned char *n_params;
  59. unsigned char n_reserved[16];
  60. } NODEENTF,*LPNODEENTF;
  61. typedef struct optdata_dn {
  62. unsigned short opt_status;
  63. unsigned short opt_optl;
  64. unsigned char opt_data[DN_MAXOPTL];
  65. } OPTDATADN,*LPOPTDATADN;
  66. typedef struct accessdata_dn {
  67. unsigned short acc_accl;
  68. unsigned char acc_acc[DN_MAXACCL+1];
  69. unsigned short acc_passl;
  70. unsigned char acc_pass[DN_MAXACCL+1];
  71. unsigned short acc_userl;
  72. unsigned char acc_user[DN_MAXACCL+1];
  73. } ACCESSDATADN,*LPACCESSDATADN;
  74. typedef struct calldata_dn {
  75. struct optdata_dn optdata_dn;
  76. struct accessdata_dn accessdata_dn;
  77. } CALLDATADN,*LPCALLDATADN;
  78. typedef struct dnet_accent {
  79. unsigned char dac_status;
  80. unsigned char dac_type;
  81. char dac_username[DN_MAXACCL+1];
  82. char dac_password[DN_MAXACCL+1];
  83. } DNETACCENT,*LPDNETACCENT;
  84. #define DN_NONE 0x00
  85. #define DN_RO 0x01
  86. #define DN_WO 0x02
  87. #define DN_RW 0x03
  88. typedef struct linkinfo_dn {
  89. unsigned short idn_segsize;
  90. unsigned char idn_linkstate;
  91. } LINKINFODN,*LPLINKINFODN;
  92. #define SO_LINKINFO 7
  93. #define LL_INACTIVE 0
  94. #define LL_CONNECTING 1
  95. #define LL_RUNNING 2
  96. #define LL_DISCONNECTING 3
  97. #pragma pack(pop,ws2dnet)
  98. struct dn_naddr *WSAAPI dnet_addr(const char *);
  99. int WSAAPI dnet_eof(SOCKET);
  100. struct dnet_accent *WSAAPI dnet_getacc(const struct dnet_accent *);
  101. char *WSAAPI dnet_getalias(const char *);
  102. char *WSAAPI dnet_htoa(const struct dn_naddr *);
  103. char *WSAAPI dnet_ntoa(const struct dn_naddr *);
  104. struct dn_naddr *WSAAPI getnodeadd(void);
  105. struct nodeent_f *WSAAPI getnodebyaddr(const unsigned char *addr,int,int);
  106. struct nodeent_f *WSAAPI getnodebyname(const char *);
  107. char *WSAAPI getnodename(void);
  108. typedef struct dn_naddr *(WSAAPI *LPDNETADDR)(const char *);
  109. typedef int (WSAAPI *LPDNETEOF)(SOCKET);
  110. typedef struct dnet_accent *(WSAAPI *LPDNETGETACC)(const struct dnet_accent *);
  111. typedef char *(WSAAPI *LPDNETGETALIAS)(const char *);
  112. typedef char *(WSAAPI *LPDNETHTOA)(const struct dn_naddr *);
  113. typedef char *(WSAAPI *LPDNETNTOA)(const struct dn_naddr *);
  114. typedef struct dn_naddr *(WSAAPI *LPGETNODEADD)(void);
  115. typedef struct nodeent_f *(WSAAPI *LPGETNODEBYADDR)(const unsigned char *addr,int,int);
  116. typedef struct nodeent_f *(WSAAPI *LPGETNODEBYNAME)(const char *);
  117. typedef char *(WSAAPI *LPGETNODENAME)(void);
  118. #endif