| 1 | #ifndef _WSNETBS_H | 
 
 
 
 
 | 2 | #define _WSNETBS_H | 
 
 
 
 
 | 3 | #if __GNUC__ >=3 | 
 
 
 
 
 | 4 | #pragma GCC system_header | 
 
 
 
 
 | 5 | #endif | 
 
 
 
 
 | 6 |  | 
 
 
 
 
 | 7 | #define NETBIOS_NAME_LENGTH     16 | 
 
 
 
 
 | 8 | #define NETBIOS_UNIQUE_NAME     0 | 
 
 
 
 
 | 9 | #define NETBIOS_GROUP_NAME      1 | 
 
 
 
 
 | 10 | #define NETBIOS_TYPE_QUICK_UNIQUE       2 | 
 
 
 
 
 | 11 | #define NETBIOS_TYPE_QUICK_GROUP        3 | 
 
 
 
 
 | 12 |  | 
 
 
 
 
 | 13 | #ifndef RC_INVOKED | 
 
 
 
 
 | 14 | typedef struct sockaddr_nb { | 
 
 
 
 
 | 15 | short   snb_family; | 
 
 
 
 
 | 16 | u_short snb_type; | 
 
 
 
 
 | 17 | char    snb_name[NETBIOS_NAME_LENGTH]; | 
 
 
 
 
 | 18 | } SOCKADDR_NB, *PSOCKADDR_NB, *LPSOCKADDR_NB; | 
 
 
 
 
 | 19 | #define SET_NETBIOS_SOCKADDR(_snb,_type,_name,_port) \ | 
 
 
 
 
 | 20 | { \ | 
 
 
 
 
 | 21 | register int _i; \ | 
 
 
 
 
 | 22 | register char *_n = (_name); \ | 
 
 
 
 
 | 23 | register PSOCKADDR_NB _s = (_snb); \ | 
 
 
 
 
 | 24 | _s->snb_family = AF_NETBIOS; \ | 
 
 
 
 
 | 25 | _s->snb_type = (_type); \ | 
 
 
 
 
 | 26 | for (_i=0; _n[_i] != '\0' && _i<NETBIOS_NAME_LENGTH-1; _i++) { \ | 
 
 
 
 
 | 27 | _s->snb_name[_i] = _n[_i]; \ | 
 
 
 
 
 | 28 | } \ | 
 
 
 
 
 | 29 | for (; _i<NETBIOS_NAME_LENGTH-1; _i++) { \ | 
 
 
 
 
 | 30 | _s->snb_name[_i] = ' '; \ | 
 
 
 
 
 | 31 | } \ | 
 
 
 
 
 | 32 | _s->snb_name[NETBIOS_NAME_LENGTH-1] = (_port); \ | 
 
 
 
 
 | 33 | } | 
 
 
 
 
 | 34 | #endif   /* RC_INVOKED */ | 
 
 
 
 
 | 35 | #endif |