Mercurial > nand-ecoscentric
annotate packages/isoinfra/current/include/sys/select.h @ 3366:5d16532287ee
* include/sys/select.h: Make select FD_COPY and FD_ZERO macros single
statements. [ Bugzilla 1001986 ]
| author | jld |
|---|---|
| date | Mon, 16 Jun 2014 10:03:58 +0000 |
| parents | 74dbf4c3f2e1 |
| children |
| rev | line source |
|---|---|
|
174
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
1 /*======================================================================== |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
2 // |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
3 // sys/select.h |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
4 // |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
5 // POSIX definitions for select() |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
6 // |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
7 //======================================================================== |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
8 // ####ECOSGPLCOPYRIGHTBEGIN#### |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
9 // ------------------------------------------- |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
10 // This file is part of eCos, the Embedded Configurable Operating System. |
|
3366
5d16532287ee
* include/sys/select.h: Make select FD_COPY and FD_ZERO macros single
jld
parents:
2729
diff
changeset
|
11 // Copyright (C) 1998, 1999, 2000, 2001, 2002, 2014 Free Software Foundation, Inc. |
|
208
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
174
diff
changeset
|
12 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
13 // eCos is free software; you can redistribute it and/or modify it under |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
14 // the terms of the GNU General Public License as published by the Free |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
15 // Software Foundation; either version 2 or (at your option) any later |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
16 // version. |
|
208
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
174
diff
changeset
|
17 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
18 // eCos is distributed in the hope that it will be useful, but WITHOUT |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
19 // ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
20 // FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
21 // for more details. |
|
208
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
174
diff
changeset
|
22 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
23 // You should have received a copy of the GNU General Public License |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
24 // along with eCos; if not, write to the Free Software Foundation, Inc., |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
25 // 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
|
208
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
174
diff
changeset
|
26 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
27 // As a special exception, if other files instantiate templates or use |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
28 // macros or inline functions from this file, or you compile this file |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
29 // and link it with other works to produce a work based on this file, |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
30 // this file does not by itself cause the resulting work to be covered by |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
31 // the GNU General Public License. However the source code for this file |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
32 // must still be made available in accordance with section (3) of the GNU |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
33 // General Public License v2. |
|
208
e0c0827131d1
Merge from eCos master repository on 2002-05-20-20:11:54-BST
jlarmour
parents:
174
diff
changeset
|
34 // |
|
2729
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
35 // This exception does not invalidate any other reasons why a work based |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
36 // on this file might be covered by the GNU General Public License. |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
37 // ------------------------------------------- |
|
74dbf4c3f2e1
Update all copyright banners to reflect FSF ownership; fix and improve licence text.
jlarmour
parents:
1874
diff
changeset
|
38 // ####ECOSGPLCOPYRIGHTEND#### |
|
174
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
39 //======================================================================== |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
40 //#####DESCRIPTIONBEGIN#### |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
41 // |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
42 // Author(s): jlarmour |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
43 // Contributors: |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
44 // Date: 2001-07-26 |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
45 // Purpose: This file provides the macros, types and functions |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
46 // required by POSIX 1003.1. |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
47 // Description: Much of the real contents of this file get set from the |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
48 // configuration (set by the implementation) |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
49 // Usage: #include <sys/select.h> |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
50 // |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
51 //####DESCRIPTIONEND#### |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
52 // |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
53 //====================================================================== |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
54 */ |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
55 |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
56 /* CONFIGURATION */ |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
57 |
|
1874
99088d3b1a91
+ * include/sys/select.h: set FD_SETSIZE to CYGNUM_FILEIO_NFD
asl
parents:
1460
diff
changeset
|
58 #include <pkgconf/system.h> |
|
174
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
59 #include <pkgconf/isoinfra.h> /* Configuration header */ |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
60 |
|
1874
99088d3b1a91
+ * include/sys/select.h: set FD_SETSIZE to CYGNUM_FILEIO_NFD
asl
parents:
1460
diff
changeset
|
61 #ifdef CYGPKG_IO_FILEIO |
|
99088d3b1a91
+ * include/sys/select.h: set FD_SETSIZE to CYGNUM_FILEIO_NFD
asl
parents:
1460
diff
changeset
|
62 #include <pkgconf/io_fileio.h> |
|
99088d3b1a91
+ * include/sys/select.h: set FD_SETSIZE to CYGNUM_FILEIO_NFD
asl
parents:
1460
diff
changeset
|
63 #define FD_SETSIZE CYGNUM_FILEIO_NFD |
|
99088d3b1a91
+ * include/sys/select.h: set FD_SETSIZE to CYGNUM_FILEIO_NFD
asl
parents:
1460
diff
changeset
|
64 #endif |
|
99088d3b1a91
+ * include/sys/select.h: set FD_SETSIZE to CYGNUM_FILEIO_NFD
asl
parents:
1460
diff
changeset
|
65 |
|
174
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
66 /* ------------------------------------------------------------------- */ |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
67 |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
68 #if !defined(_POSIX_SOURCE) |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
69 |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
70 #ifdef CYGINT_ISO_SELECT |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
71 # ifdef CYGBLD_ISO_SELECT_HEADER |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
72 # include CYGBLD_ISO_SELECT_HEADER |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
73 # else |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
74 |
|
408
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
75 # ifndef CYGONCE_ISO_SYS_SELECT_FD_SETS |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
76 # define CYGONCE_ISO_SYS_SELECT_FD_SETS |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
77 |
|
174
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
78 #define NBBY 8 /* number of bits in a byte */ |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
79 |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
80 /* |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
81 * Select uses bit masks of file descriptors in longs. These macros |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
82 * manipulate such bit fields (the filesystem macros use chars). |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
83 * FD_SETSIZE may be defined by the user, but the default here should |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
84 * be enough for most uses. |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
85 */ |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
86 #ifndef FD_SETSIZE |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
87 #define FD_SETSIZE 256 |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
88 #endif |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
89 |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
90 typedef unsigned int fd_mask; |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
91 #define __NFDBITS (sizeof(fd_mask) * NBBY) /* bits per mask */ |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
92 |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
93 #ifndef __howmany |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
94 #define __howmany(__x, __y) (((__x) + ((__y) - 1)) / (__y)) |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
95 #endif |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
96 |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
97 typedef struct fd_set { |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
98 fd_mask fds_bits[__howmany(FD_SETSIZE, __NFDBITS)]; |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
99 } fd_set; |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
100 |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
101 #define FD_SET(__n, __p) ((__p)->fds_bits[(__n)/__NFDBITS] |= (1 << ((__n) % __NFDBITS))) |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
102 #define FD_CLR(__n, __p) ((__p)->fds_bits[(__n)/__NFDBITS] &= ~(1 << ((__n) % __NFDBITS))) |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
103 #define FD_ISSET(__n, __p) ((__p)->fds_bits[(__n)/__NFDBITS] & (1 << ((__n) % __NFDBITS))) |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
104 |
|
3366
5d16532287ee
* include/sys/select.h: Make select FD_COPY and FD_ZERO macros single
jld
parents:
2729
diff
changeset
|
105 #define FD_COPY(__f, __t) CYG_MACRO_START \ |
|
174
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
106 unsigned int _i; \ |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
107 for( _i = 0; _i < __howmany(FD_SETSIZE, __NFDBITS) ; _i++ ) \ |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
108 (__t)->fds_bits[_i] = (__f)->fds_bits[_i]; \ |
|
3366
5d16532287ee
* include/sys/select.h: Make select FD_COPY and FD_ZERO macros single
jld
parents:
2729
diff
changeset
|
109 CYG_MACRO_END |
|
174
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
110 |
|
3366
5d16532287ee
* include/sys/select.h: Make select FD_COPY and FD_ZERO macros single
jld
parents:
2729
diff
changeset
|
111 #define FD_ZERO(__p) CYG_MACRO_START \ |
|
174
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
112 unsigned int _i; \ |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
113 for( _i = 0; _i < __howmany(FD_SETSIZE, __NFDBITS) ; _i++ ) \ |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
114 (__p)->fds_bits[_i] = 0; \ |
|
3366
5d16532287ee
* include/sys/select.h: Make select FD_COPY and FD_ZERO macros single
jld
parents:
2729
diff
changeset
|
115 CYG_MACRO_END |
|
174
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
116 |
|
408
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
117 # endif /* CYGONCE_ISO_SYS_SELECT_FD_SETS */ |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
118 |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
119 # ifndef __NEED_FD_SETS_ONLY |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
120 |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
121 # ifndef CYGONCE_ISO_SYS_SELECT_H |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
122 # define CYGONCE_ISO_SYS_SELECT_H |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
123 |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
124 # ifdef __cplusplus |
|
174
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
125 extern "C" { |
|
408
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
126 # endif |
|
174
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
127 |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
128 struct timeval; |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
129 extern int |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
130 select( int /* nfd */, fd_set * /* in */, fd_set * /* out */, |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
131 fd_set * /* ex */, struct timeval * /* tv */ ); |
|
408
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
132 |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
133 #ifdef CYGPKG_POSIX |
|
1460
3203d2eca45d
* include/sys/select.h: Only declare pselect() when posix signals are
jlarmour
parents:
408
diff
changeset
|
134 # include <pkgconf/posix.h> |
|
3203d2eca45d
* include/sys/select.h: Only declare pselect() when posix signals are
jlarmour
parents:
408
diff
changeset
|
135 # ifdef CYGPKG_POSIX_SIGNALS |
|
3203d2eca45d
* include/sys/select.h: Only declare pselect() when posix signals are
jlarmour
parents:
408
diff
changeset
|
136 # include <signal.h> |
|
408
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
137 struct timespec; |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
138 extern int |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
139 pselect( int /* nfd */, fd_set * /* in */, fd_set * /* out */, |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
140 fd_set * /* ex */, const struct timespec * /* ts */, |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
141 const sigset_t * /* mask */); |
|
1460
3203d2eca45d
* include/sys/select.h: Only declare pselect() when posix signals are
jlarmour
parents:
408
diff
changeset
|
142 # endif |
|
408
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
143 #endif |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
144 |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
145 # ifdef __cplusplus |
|
174
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
146 } /* extern "C" */ |
|
408
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
147 # endif |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
148 |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
149 # endif /* CYGONCE_ISO_SYS_SELECT_H multiple inclusion protection */ |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
150 |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
151 # endif /* __NEED_FD_SETS_ONLY */ |
|
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
152 |
|
174
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
153 # endif |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
154 #endif |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
155 |
|
408
dbc601e76824
* include/sys/types.h: Add define/undefine for __NEED_FD_SETS_ONLY
nickg
parents:
210
diff
changeset
|
156 |
|
174
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
157 #endif /* if !defined(_POSIX_SOURCE) */ |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
158 /* ------------------------------------------------------------------- */ |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
159 |
|
38892b97b685
Merge from eCos master repository on 2001-07-28-00:17:32-BST
jlarmour
parents:
diff
changeset
|
160 /* EOF sys/select.h */ |
