diff options
Diffstat (limited to 'public/sdk/inc/wsnetbs.h')
-rw-r--r-- | public/sdk/inc/wsnetbs.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/public/sdk/inc/wsnetbs.h b/public/sdk/inc/wsnetbs.h new file mode 100644 index 000000000..b2cb400f8 --- /dev/null +++ b/public/sdk/inc/wsnetbs.h @@ -0,0 +1,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 + |