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 |