patch-1.3.2 linux/include/asm-i386/types.h
Next file: linux/include/linux/a.out.h
Previous file: linux/include/asm-i386/shmparam.h
Back to the patch index
Back to the overall index
- Lines: 30
- Date:
Fri Jun 16 20:03:03 1995
- Orig file:
v1.3.1/linux/include/asm-i386/types.h
- Orig date:
Sat Jun 10 18:24:07 1995
diff -u --recursive --new-file v1.3.1/linux/include/asm-i386/types.h linux/include/asm-i386/types.h
@@ -75,4 +75,29 @@
#endif /* __KERNEL__ */
+#undef __FD_SET
+#define __FD_SET(fd,fdsetp) \
+ __asm__ __volatile__("btsl %1,%0": \
+ "=m" (*(fd_set *) (fdsetp)):"r" ((int) (fd)))
+
+#undef __FD_CLR
+#define __FD_CLR(fd,fdsetp) \
+ __asm__ __volatile__("btrl %1,%0": \
+ "=m" (*(fd_set *) (fdsetp)):"r" ((int) (fd)))
+
+#undef __FD_ISSET
+#define __FD_ISSET(fd,fdsetp) (__extension__ ({ \
+ unsigned char __result; \
+ __asm__ __volatile__("btl %1,%2 ; setb %0" \
+ :"=q" (__result) :"r" ((int) (fd)), \
+ "m" (*(fd_set *) (fdsetp))); \
+ __result; }))
+
+#undef __FD_ZERO
+#define __FD_ZERO(fdsetp) \
+ __asm__ __volatile__("cld ; rep ; stosl" \
+ :"=m" (*(fd_set *) (fdsetp)) \
+ :"a" (0), "c" (__FDSET_LONGS), \
+ "D" ((fd_set *) (fdsetp)) :"cx","di")
+
#endif
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov
with Sam's (original) version of this