home *** CD-ROM | disk | FTP | other *** search
/ Beginning C++ Through Gam…rogramming (2nd Edition) / BCGP2E.ISO / bloodshed / devcpp-4.9.9.2_setup.exe / nb30.h < prev    next >
C/C++ Source or Header  |  2005-01-29  |  4KB  |  187 lines

  1. #ifndef _NB30_H
  2. #define _NB30_H
  3. #if __GNUC__ >=3
  4. #pragma GCC system_header
  5. #endif
  6.  
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10. #define NCBNAMSZ 16
  11. #define MAX_LANA 254
  12. #define NAME_FLAGS_MASK 0x87
  13. #define GROUP_NAME 0x80
  14. #define UNIQUE_NAME 0x00
  15. #define REGISTERING 0x00
  16. #define REGISTERED 0x04
  17. #define DEREGISTERED 0x05
  18. #define DUPLICATE 0x06
  19. #define DUPLICATE_DEREG 0x07
  20. #define LISTEN_OUTSTANDING 0x01
  21. #define CALL_PENDING 0x02
  22. #define SESSION_ESTABLISHED 0x03
  23. #define HANGUP_PENDING 0x04
  24. #define HANGUP_COMPLETE 0x05
  25. #define SESSION_ABORTED 0x06
  26. #define ALL_TRANSPORTS "M\0\0\0"
  27. #define MS_NBF "MNBF"
  28. #define NCBCALL 0x10
  29. #define NCBLISTEN 0x11
  30. #define NCBHANGUP 0x12
  31. #define NCBSEND 0x14
  32. #define NCBRECV 0x15
  33. #define NCBRECVANY 0x16
  34. #define NCBCHAINSEND 0x17
  35. #define NCBDGSEND 0x20
  36. #define NCBDGRECV 0x21
  37. #define NCBDGSENDBC 0x22
  38. #define NCBDGRECVBC 0x23
  39. #define NCBADDNAME 0x30
  40. #define NCBDELNAME 0x31
  41. #define NCBRESET 0x32
  42. #define NCBASTAT 0x33
  43. #define NCBSSTAT 0x34
  44. #define NCBCANCEL 0x35
  45. #define NCBADDGRNAME 0x36
  46. #define NCBENUM 0x37
  47. #define NCBUNLINK 0x70
  48. #define NCBSENDNA 0x71
  49. #define NCBCHAINSENDNA 0x72
  50. #define NCBLANSTALERT 0x73
  51. #define NCBACTION 0x77
  52. #define NCBFINDNAME 0x78
  53. #define NCBTRACE 0x79
  54. #define ASYNCH 0x80
  55. #define NRC_GOODRET 0x00
  56. #define NRC_BUFLEN 0x01
  57. #define NRC_ILLCMD 0x03
  58. #define NRC_CMDTMO 0x05
  59. #define NRC_INCOMP 0x06
  60. #define NRC_BADDR 0x07
  61. #define NRC_SNUMOUT 0x08
  62. #define NRC_NORES 0x09
  63. #define NRC_SCLOSED 0x0a
  64. #define NRC_CMDCAN 0x0b
  65. #define NRC_DUPNAME 0x0d
  66. #define NRC_NAMTFUL 0x0e
  67. #define NRC_ACTSES 0x0f
  68. #define NRC_LOCTFUL 0x11
  69. #define NRC_REMTFUL 0x12
  70. #define NRC_ILLNN 0x13
  71. #define NRC_NOCALL 0x14
  72. #define NRC_NOWILD 0x15
  73. #define NRC_INUSE 0x16
  74. #define NRC_NAMERR 0x17
  75. #define NRC_SABORT 0x18
  76. #define NRC_NAMCONF 0x19
  77. #define NRC_IFBUSY 0x21
  78. #define NRC_TOOMANY 0x22
  79. #define NRC_BRIDGE 0x23
  80. #define NRC_CANOCCR 0x24
  81. #define NRC_CANCEL 0x26
  82. #define NRC_DUPENV 0x30
  83. #define NRC_ENVNOTDEF 0x34
  84. #define NRC_OSRESNOTAV 0x35
  85. #define NRC_MAXAPPS 0x36
  86. #define NRC_NOSAPS 0x37
  87. #define NRC_NORESOURCES 0x38
  88. #define NRC_INVADDRESS 0x39
  89. #define NRC_INVDDID 0x3B
  90. #define NRC_LOCKFAIL 0x3C
  91. #define NRC_OPENERR 0x3f
  92. #define NRC_SYSTEM 0x40
  93. #define NRC_PENDING 0xff
  94. #define NCB_POST void CALLBACK
  95. typedef struct _ACTION_HEADER {
  96.     ULONG transport_id;
  97.     USHORT action_code;
  98.     USHORT reserved;
  99. } ACTION_HEADER,*PACTION_HEADER;
  100. typedef struct _ADAPTER_STATUS {
  101.     UCHAR adapter_address[6];
  102.     UCHAR rev_major;
  103.     UCHAR reserved0;
  104.     UCHAR adapter_type;
  105.     UCHAR rev_minor;
  106.     WORD duration;
  107.     WORD frmr_recv;
  108.     WORD frmr_xmit;
  109.     WORD iframe_recv_err;
  110.     WORD xmit_aborts;
  111.     DWORD xmit_success;
  112.     DWORD recv_success;
  113.     WORD iframe_xmit_err;
  114.     WORD recv_buff_unavail;
  115.     WORD t1_timeouts;
  116.     WORD ti_timeouts;
  117.     DWORD reserved1;
  118.     WORD free_ncbs;
  119.     WORD max_cfg_ncbs;
  120.     WORD max_ncbs;
  121.     WORD xmit_buf_unavail;
  122.     WORD max_dgram_size;
  123.     WORD pending_sess;
  124.     WORD max_cfg_sess;
  125.     WORD max_sess;
  126.     WORD max_sess_pkt_size;
  127.     WORD name_count;
  128. } ADAPTER_STATUS,*PADAPTER_STATUS;
  129. typedef struct _FIND_NAME_BUFFER {
  130.     UCHAR length;
  131.     UCHAR access_control;
  132.     UCHAR frame_control;
  133.     UCHAR destination_addr[6];
  134.     UCHAR source_addr[6];
  135.     UCHAR routing_info[18];
  136. } FIND_NAME_BUFFER,*PFIND_NAME_BUFFER;
  137. typedef struct _FIND_NAME_HEADER {
  138.     WORD node_count;
  139.     UCHAR reserved;
  140.     UCHAR unique_group;
  141. } FIND_NAME_HEADER,*PFIND_NAME_HEADER;
  142. typedef struct _LANA_ENUM {
  143.     UCHAR length;
  144.     UCHAR lana[MAX_LANA+1];
  145. } LANA_ENUM,*PLANA_ENUM;
  146. typedef struct _NAME_BUFFER {
  147.     UCHAR name[NCBNAMSZ];
  148.     UCHAR name_num;
  149.     UCHAR name_flags;
  150. } NAME_BUFFER,*PNAME_BUFFER;
  151. typedef struct _NCB {
  152.     UCHAR ncb_command;
  153.     UCHAR ncb_retcode;
  154.     UCHAR ncb_lsn;
  155.     UCHAR ncb_num;
  156.     PUCHAR ncb_buffer;
  157.     WORD ncb_length;
  158.     UCHAR ncb_callname[NCBNAMSZ];
  159.     UCHAR ncb_name[NCBNAMSZ];
  160.     UCHAR ncb_rto;
  161.     UCHAR ncb_sto;
  162.     void (CALLBACK *ncb_post)(struct _NCB*);
  163.     UCHAR ncb_lana_num;
  164.     UCHAR ncb_cmd_cplt;
  165.     UCHAR ncb_reserve[10];
  166.     HANDLE ncb_event;
  167. } NCB,*PNCB;
  168. typedef struct _SESSION_BUFFER {
  169.     UCHAR lsn;
  170.     UCHAR state;
  171.     UCHAR local_name[NCBNAMSZ];
  172.     UCHAR remote_name[NCBNAMSZ];
  173.     UCHAR rcvs_outstanding;
  174.     UCHAR sends_outstanding;
  175. } SESSION_BUFFER,*PSESSION_BUFFER;
  176. typedef struct _SESSION_HEADER {
  177.     UCHAR sess_name;
  178.     UCHAR num_sess;
  179.     UCHAR rcv_dg_outstanding;
  180.     UCHAR rcv_any_outstanding;
  181. } SESSION_HEADER,*PSESSION_HEADER;
  182. UCHAR WINAPI Netbios(PNCB);
  183. #ifdef __cplusplus
  184. }
  185. #endif
  186. #endif
  187.