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

  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
  36.