blob: b2cb400f8d513cf4b9a82c8286e8c6e4a3ffac34 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
|
/*
* wsnetbs.h
* Copyright (c) 1994-1996, Microsoft Corp. All rights reserved.
*
* Windows Sockets include file for NETBIOS. This file contains all
* standardized NETBIOS information. Include this header file after
* winsock.h.
*
*/
#ifndef _WSNETBS_
#define _WSNETBS_
/*
* This is the structure of the SOCKADDR structure for NETBIOS.
*
*/
#define NETBIOS_NAME_LENGTH 16
typedef struct sockaddr_nb {
short snb_family;
u_short snb_type;
char snb_name[NETBIOS_NAME_LENGTH];
} SOCKADDR_NB, *PSOCKADDR_NB,FAR *LPSOCKADDR_NB;
/*
* Bit values for the snb_type field of SOCKADDR_NB.
*
*/
#define NETBIOS_UNIQUE_NAME (0x0000)
#define NETBIOS_GROUP_NAME (0x0001)
#define NETBIOS_TYPE_QUICK_UNIQUE (0x0002)
#define NETBIOS_TYPE_QUICK_GROUP (0x0003)
/*
* A macro convenient for setting up NETBIOS SOCKADDRs.
*
*/
#define SET_NETBIOS_SOCKADDR(_snb,_type,_name,_port) \
{ \
int _i; \
(_snb)->snb_family = AF_NETBIOS; \
(_snb)->snb_type = (_type); \
for (_i=0; _i<NETBIOS_NAME_LENGTH-1; _i++) { \
(_snb)->snb_name[_i] = ' '; \
} \
for (_i=0; *((_name)+_i) != '\0' && _i<NETBIOS_NAME_LENGTH-1; _i++) { \
(_snb)->snb_name[_i] = *((_name)+_i); \
} \
(_snb)->snb_name[NETBIOS_NAME_LENGTH-1] = (_port); \
}
/*
* To open a NetBIOS socket, call the socket() function as follows:
*
* s = socket( AF_NETBIOS, {SOCK_SEQPACKET|SOCK_DGRAM}, -Lana );
*
* where Lana is the NetBIOS Lana number of interest. For example, to
* open a socket for Lana 2, specify -2 as the "protocol" parameter
* to the socket() function.
*
*/
#endif
|