summaryrefslogtreecommitdiffstats
path: root/private/inc/sys/snet/bsd_type.h
diff options
context:
space:
mode:
Diffstat (limited to 'private/inc/sys/snet/bsd_type.h')
-rw-r--r--private/inc/sys/snet/bsd_type.h89
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_ */