diff options
Diffstat (limited to 'private/inc/sys/snet/bsd_type.h')
-rw-r--r-- | private/inc/sys/snet/bsd_type.h | 89 |
1 files changed, 89 insertions, 0 deletions
diff --git a/private/inc/sys/snet/bsd_type.h b/private/inc/sys/snet/bsd_type.h new file mode 100644 index 000000000..2e4dfb7ae --- /dev/null +++ b/private/inc/sys/snet/bsd_type.h @@ -0,0 +1,89 @@ +/*++ + +Copyright (c) 1991 Microsoft Corporation + +Module Name: + + bsd_type.h.h + +Abstract: + + This module contains definitions for BSD compatibility for + STREAMS drivers. + +Author: + + Eric Chin (ericc) July 18, 1991 + +Revision History: + +--*/ + +/************************************************************************* + * + * SpiderTCP/SNMP + * + * Copyright 1990 Spider Systems Limited + * + * BSD_TYPES.H + * + * some #defines for BSD compatibility + * + * + *************************************************************************/ + +/* + * /usr/projects/spare/PBRAIN/SCCS/pbrainG/dev/src/include/sys/snet/0/s.bsd_types.h + * @(#)bsd_types.h 1.3 + * + * Last delta created 11:54:01 10/16/90 + * This file extracted 08:53:46 7/10/91 + * + * Modifications: + * + * GSS 01/03/90 put in Pbrain + */ + +#ifndef _SYS_SNET_BSD_TYPE_ +#define _SYS_SNET_BSD_TYPE_ + + +#ifndef u_char +#define u_char unsigned char +#define u_short unsigned short +#define u_long unsigned long +#define u_int unsigned int +#endif + + +/* + * Select uses bit masks of file descriptors in integers. + * These macros manipulate such bit fields (the filesystem macros use chars). + * FD_SETSIZE may be defined by the user, but the default here + * should be >= NOFILE (param.h). In the current implementation it should + * not exceed 32 (sizeof int). + */ +#ifndef FD_SETSIZE +#define FD_SETSIZE 32 +#endif + +/* number of bits in a byte */ +#define NBBY 8 + +typedef int fd_mask; +#define NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */ +#ifndef howmany +#define howmany(x, y) (((x)+((y)-1))/(y)) +#endif + +typedef struct fd_set { + fd_mask fds_bits[howmany(FD_SETSIZE, NFDBITS)]; +} fd_set; + + +#define FD_SET(n, p) ((p)->fds_bits[(n)/NFDBITS] |= (1 << ((n) % NFDBITS))) +#define FD_CLR(n, p) ((p)->fds_bits[(n)/NFDBITS] &= ~(1 << ((n) % NFDBITS))) +#define FD_ISSET(n, p) ((p)->fds_bits[(n)/NFDBITS] & (1 << ((n) % NFDBITS))) +#define FD_ZERO(p) bzero((char *)(p), sizeof(*(p))) + +#endif /* _SYS_SNET_BSD_TYPE_ */ |