@@ -129,25 +129,6 @@ s! {
129
129
pub tm_isdst: :: c_int,
130
130
}
131
131
132
- pub struct stat {
133
- pub st_dev: :: dev_t,
134
- pub st_ino: :: ino_t,
135
- pub st_mode: :: mode_t,
136
- pub st_nlink: :: nlink_t,
137
- pub st_uid: :: uid_t,
138
- pub st_gid: :: gid_t,
139
- pub st_rdev: dev_t,
140
- pub st_size: off_t,
141
- pub st_atime: time_t,
142
- pub st_spare1: :: c_long,
143
- pub st_mtime: time_t,
144
- pub st_spare2: :: c_long,
145
- pub st_ctime: time_t,
146
- pub st_spare3: :: c_long,
147
- pub st_blksize: blksize_t,
148
- pub st_blocks: blkcnt_t,
149
- pub st_spare4: [ :: c_long; 2usize ] ,
150
- }
151
132
152
133
pub struct statvfs {
153
134
pub f_bsize: :: c_ulong,
@@ -163,10 +144,6 @@ s! {
163
144
pub f_namemax: :: c_ulong,
164
145
}
165
146
166
- pub struct sigset_t {
167
- __val: [ :: c_ulong; 16 ] ,
168
- }
169
-
170
147
pub struct sigaction {
171
148
pub sa_handler: extern fn ( arg1: :: c_int) ,
172
149
pub sa_mask: sigset_t,
@@ -242,6 +219,57 @@ s! {
242
219
}
243
220
}
244
221
222
+ cfg_if ! {
223
+ if #[ cfg( target_os = "horizon" ) ] {
224
+ pub type sigset_t = :: c_ulong;
225
+
226
+ s! {
227
+ pub struct stat {
228
+ pub st_dev: :: dev_t,
229
+ pub st_ino: :: ino_t,
230
+ pub st_mode: :: mode_t,
231
+ pub st_nlink: :: nlink_t,
232
+ pub st_uid: :: uid_t,
233
+ pub st_gid: :: gid_t,
234
+ pub st_rdev: dev_t,
235
+ pub st_size: off_t,
236
+ pub st_atim: :: timespec,
237
+ pub st_mtim: :: timespec,
238
+ pub st_ctim: :: timespec,
239
+ pub st_blksize: blksize_t,
240
+ pub st_blocks: blkcnt_t,
241
+ pub st_spare4: [ :: c_long; 2usize ] ,
242
+ }
243
+ }
244
+ } else {
245
+ s! {
246
+ pub struct sigset_t {
247
+ __val: [ :: c_ulong; 16 ] ,
248
+ }
249
+
250
+ pub struct stat {
251
+ pub st_dev: :: dev_t,
252
+ pub st_ino: :: ino_t,
253
+ pub st_mode: :: mode_t,
254
+ pub st_nlink: :: nlink_t,
255
+ pub st_uid: :: uid_t,
256
+ pub st_gid: :: gid_t,
257
+ pub st_rdev: dev_t,
258
+ pub st_size: off_t,
259
+ pub st_atime: time_t,
260
+ pub st_spare1: :: c_long,
261
+ pub st_mtime: time_t,
262
+ pub st_spare2: :: c_long,
263
+ pub st_ctime: time_t,
264
+ pub st_spare3: :: c_long,
265
+ pub st_blksize: blksize_t,
266
+ pub st_blocks: blkcnt_t,
267
+ pub st_spare4: [ :: c_long; 2usize ] ,
268
+ }
269
+ }
270
+ }
271
+ }
272
+
245
273
// unverified constants
246
274
align_const ! {
247
275
pub const PTHREAD_MUTEX_INITIALIZER : pthread_mutex_t = pthread_mutex_t {
@@ -283,7 +311,14 @@ pub const __PTHREAD_RWLOCK_INT_FLAGS_SHARED: usize = 1;
283
311
pub const PTHREAD_MUTEX_NORMAL : :: c_int = 0 ;
284
312
pub const PTHREAD_MUTEX_RECURSIVE : :: c_int = 1 ;
285
313
pub const PTHREAD_MUTEX_ERRORCHECK : :: c_int = 2 ;
286
- pub const FD_SETSIZE : usize = 1024 ;
314
+
315
+ cfg_if ! {
316
+ if #[ cfg( target_os = "horizon" ) ] {
317
+ pub const FD_SETSIZE : usize = 64 ;
318
+ } else {
319
+ pub const FD_SETSIZE : usize = 1024 ;
320
+ }
321
+ }
287
322
// intentionally not public, only used for fd_set
288
323
const ULONG_SIZE : usize = 32 ;
289
324
0 commit comments