Skip to content

Commit 2d93415

Browse files
authored
Merge pull request rust-lang#756 from jessicah/haiku-updates
Haiku updates
2 parents db2c565 + 17c74f4 commit 2d93415

File tree

4 files changed

+71
-55
lines changed

4 files changed

+71
-55
lines changed

src/unix/haiku/b32.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
pub type c_long = i32;
22
pub type c_ulong = u32;
3+
pub type time_t = i32;

src/unix/haiku/b64.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
pub type c_ulong = u64;
22
pub type c_long = i64;
3+
pub type time_t = i64;

src/unix/haiku/mod.rs

Lines changed: 67 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ pub type speed_t = ::c_uint;
99
pub type c_char = i8;
1010
pub type clock_t = i32;
1111
pub type clockid_t = i32;
12-
pub type time_t = i32;
1312
pub type suseconds_t = i32;
1413
pub type wchar_t = i32;
1514
pub type off_t = i64;
@@ -459,86 +458,95 @@ pub const MS_ASYNC: ::c_int = 0x01;
459458
pub const MS_INVALIDATE: ::c_int = 0x04;
460459
pub const MS_SYNC: ::c_int = 0x02;
461460

462-
pub const EPERM : ::c_int = -2147483633;
463-
pub const ENOENT : ::c_int = -2147459069;
464-
pub const ESRCH : ::c_int = -2147454963;
465-
pub const EINTR : ::c_int = -2147483638;
466-
pub const EIO : ::c_int = -2147483647;
467-
pub const ENXIO : ::c_int = -2147454965;
468461
pub const E2BIG : ::c_int = -2147454975;
469-
pub const ENOEXEC : ::c_int = -2147478782;
470-
pub const EBADF : ::c_int = -2147459072;
471462
pub const ECHILD : ::c_int = -2147454974;
472463
pub const EDEADLK : ::c_int = -2147454973;
473-
pub const ENOMEM : ::c_int = -2147454976;
474-
pub const EACCES : ::c_int = -2147483646;
475-
pub const EFAULT : ::c_int = -2147478783;
476-
// pub const ENOTBLK : ::c_int = 15;
477-
pub const EBUSY : ::c_int = -2147483634;
478-
pub const EEXIST : ::c_int = -2147459070;
479-
pub const EXDEV : ::c_int = -2147459061;
480-
pub const ENODEV : ::c_int = -2147454969;
481-
pub const ENOTDIR : ::c_int = -2147459067;
482-
pub const EISDIR : ::c_int = -2147459063;
483-
pub const EINVAL : ::c_int = -2147483643;
464+
pub const EFBIG : ::c_int = -2147454972;
465+
pub const EMLINK : ::c_int = -2147454971;
484466
pub const ENFILE : ::c_int = -2147454970;
485-
pub const EMFILE : ::c_int = -2147459062;
467+
pub const ENODEV : ::c_int = -2147454969;
468+
pub const ENOLCK : ::c_int = -2147454968;
469+
pub const ENOSYS : ::c_int = -2147454967;
486470
pub const ENOTTY : ::c_int = -2147454966;
487-
pub const ETXTBSY : ::c_int = -2147454917;
488-
pub const EFBIG : ::c_int = -2147454972;
489-
pub const ENOSPC : ::c_int = -2147459065;
471+
pub const ENXIO : ::c_int = -2147454965;
490472
pub const ESPIPE : ::c_int = -2147454964;
491-
pub const EROFS : ::c_int = -2147459064;
492-
pub const EMLINK : ::c_int = -2147454971;
493-
pub const EPIPE : ::c_int = -2147459059;
473+
pub const ESRCH : ::c_int = -2147454963;
474+
pub const EFPOS : ::c_int = -2147457962;
475+
pub const ESIGPARM : ::c_int = -2147457961;
494476
pub const EDOM : ::c_int = -2147454960;
495477
pub const ERANGE : ::c_int = -2147454959;
496-
pub const EAGAIN : ::c_int = -2147483637;
497-
pub const EWOULDBLOCK : ::c_int = -2147483637;
498-
499-
pub const EINPROGRESS : ::c_int = -2147454940;
500-
pub const EALREADY : ::c_int = -2147454939;
501-
pub const ENOTSOCK : ::c_int = -2147454932;
502-
pub const EDESTADDRREQ : ::c_int = -2147454928;
503-
pub const EMSGSIZE : ::c_int = -2147454934;
504478
pub const EPROTOTYPE : ::c_int = -2147454958;
505-
pub const ENOPROTOOPT : ::c_int = -2147454942;
506479
pub const EPROTONOSUPPORT : ::c_int = -2147454957;
507-
pub const EOPNOTSUPP : ::c_int = -2147454933;
508480
pub const EPFNOSUPPORT : ::c_int = -2147454956;
509481
pub const EAFNOSUPPORT : ::c_int = -2147454955;
510482
pub const EADDRINUSE : ::c_int = -2147454954;
511483
pub const EADDRNOTAVAIL : ::c_int = -2147454953;
512-
pub const ENETDOWN : ::c_int = -2147454953;
484+
pub const ENETDOWN : ::c_int = -2147454952;
513485
pub const ENETUNREACH : ::c_int = -2147454951;
514486
pub const ENETRESET : ::c_int = -2147454950;
515487
pub const ECONNABORTED : ::c_int = -2147454949;
516488
pub const ECONNRESET : ::c_int = -2147454948;
517-
pub const ENOBUFS : ::c_int = -2147454941;
518489
pub const EISCONN : ::c_int = -2147454947;
519490
pub const ENOTCONN : ::c_int = -2147454946;
520491
pub const ESHUTDOWN : ::c_int = -2147454945;
521-
pub const ETIMEDOUT : ::c_int = -2147483639;
522492
pub const ECONNREFUSED : ::c_int = -2147454944;
523-
pub const ELOOP : ::c_int = -2147459060;
524-
pub const ENAMETOOLONG : ::c_int = -2147459068;
525-
pub const EHOSTDOWN : ::c_int = -2147454931;
526493
pub const EHOSTUNREACH : ::c_int = -2147454943;
527-
pub const ENOTEMPTY : ::c_int = -2147459066;
528-
pub const EDQUOT : ::c_int = -2147454927;
529-
pub const ESTALE : ::c_int = -2147454936;
530-
pub const ENOLCK : ::c_int = -2147454968;
531-
pub const ENOSYS : ::c_int = -2147454967;
532-
pub const EIDRM : ::c_int = -2147454926;
494+
pub const ENOPROTOOPT : ::c_int = -2147454942;
495+
pub const ENOBUFS : ::c_int = -2147454941;
496+
pub const EINPROGRESS : ::c_int = -2147454940;
497+
pub const EALREADY : ::c_int = -2147454939;
498+
pub const EILSEQ : ::c_int = -2147454938;
533499
pub const ENOMSG : ::c_int = -2147454937;
500+
pub const ESTALE : ::c_int = -2147454936;
534501
pub const EOVERFLOW : ::c_int = -2147454935;
535-
pub const ECANCELED : ::c_int = -2147454929;
536-
pub const EILSEQ : ::c_int = -2147454938;
537-
pub const ENOATTR : ::c_int = -2147454916;
502+
pub const EMSGSIZE : ::c_int = -2147454934;
503+
pub const EOPNOTSUPP : ::c_int = -2147454933;
504+
pub const ENOTSOCK : ::c_int = -2147454932;
505+
pub const EHOSTDOWN : ::c_int = -2147454931;
538506
pub const EBADMSG : ::c_int = -2147454930;
507+
pub const ECANCELED : ::c_int = -2147454929;
508+
pub const EDESTADDRREQ : ::c_int = -2147454928;
509+
pub const EDQUOT : ::c_int = -2147454927;
510+
pub const EIDRM : ::c_int = -2147454926;
539511
pub const EMULTIHOP : ::c_int = -2147454925;
512+
pub const ENODATA : ::c_int = -2147454924;
540513
pub const ENOLINK : ::c_int = -2147454923;
514+
pub const ENOSR : ::c_int = -2147454922;
515+
pub const ENOSTR : ::c_int = -2147454921;
516+
pub const ENOTSUP : ::c_int = -2147454920;
541517
pub const EPROTO : ::c_int = -2147454919;
518+
pub const ETIME : ::c_int = -2147454918;
519+
pub const ETXTBSY : ::c_int = -2147454917;
520+
pub const ENOATTR : ::c_int = -2147454916;
521+
522+
// INT_MIN
523+
pub const ENOMEM : ::c_int = -2147454976;
524+
525+
// POSIX errors that can be mapped to BeOS error codes
526+
pub const EACCES : ::c_int = -2147483646;
527+
pub const EINTR : ::c_int = -2147483638;
528+
pub const EIO : ::c_int = -2147483647;
529+
pub const EBUSY : ::c_int = -2147483634;
530+
pub const EFAULT : ::c_int = -2147478783;
531+
pub const ETIMEDOUT : ::c_int = -2147483639;
532+
pub const EAGAIN : ::c_int = -2147483637;
533+
pub const EWOULDBLOCK : ::c_int = -2147483637;
534+
pub const EBADF : ::c_int = -2147459072;
535+
pub const EEXIST : ::c_int = -2147459070;
536+
pub const EINVAL : ::c_int = -2147483643;
537+
pub const ENAMETOOLONG : ::c_int = -2147459068;
538+
pub const ENOENT : ::c_int = -2147459069;
539+
pub const EPERM : ::c_int = -2147483633;
540+
pub const ENOTDIR : ::c_int = -2147459067;
541+
pub const EISDIR : ::c_int = -2147459063;
542+
pub const ENOTEMPTY : ::c_int = -2147459066;
543+
pub const ENOSPC : ::c_int = -2147459065;
544+
pub const EROFS : ::c_int = -2147459064;
545+
pub const EMFILE : ::c_int = -214745962;
546+
pub const EXDEV : ::c_int = -2147459061;
547+
pub const ELOOP : ::c_int = -2147459060;
548+
pub const ENOEXEC : ::c_int = -2147478782;
549+
pub const EPIPE : ::c_int = -2147459059;
542550

543551
pub const IPPROTO_RAW: ::c_int = 255;
544552

@@ -554,7 +562,6 @@ pub const IFF_LOOPBACK: ::c_int = 0x0008;
554562
pub const AF_UNIX: ::c_int = 9;
555563
pub const AF_INET: ::c_int = 1;
556564
pub const AF_INET6: ::c_int = 6;
557-
pub const SOCK_RAW: ::c_int = 3;
558565
pub const IP_MULTICAST_TTL: ::c_int = 10;
559566
pub const IP_MULTICAST_LOOP: ::c_int = 11;
560567
pub const IP_TTL: ::c_int = 4;
@@ -637,7 +644,7 @@ pub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t {
637644
};
638645
pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t {
639646
flags: 0,
640-
owner: 0,
647+
owner: -1,
641648
lock_sem: 0,
642649
lock_count: 0,
643650
reader_count: 0,
@@ -662,6 +669,8 @@ pub const RUSAGE_CHILDREN: ::c_int = -1;
662669

663670
pub const SOCK_STREAM: ::c_int = 1;
664671
pub const SOCK_DGRAM: ::c_int = 2;
672+
pub const SOCK_RAW: ::c_int = 3;
673+
pub const SOCK_SEQPACKET: ::c_int = 5;
665674

666675
pub const SOL_SOCKET: ::c_int = -1;
667676
pub const SO_ACCEPTCONN: ::c_int = 0x00000001;
@@ -795,6 +804,10 @@ f! {
795804
extern {
796805
pub fn clock_gettime(clk_id: ::c_int, tp: *mut ::timespec) -> ::c_int;
797806
pub fn clock_settime(clk_id: ::c_int, tp: *const ::timespec) -> ::c_int;
807+
pub fn pthread_create(thread: *mut ::pthread_t,
808+
attr: *const ::pthread_attr_t,
809+
f: extern fn(*mut ::c_void) -> *mut ::c_void,
810+
value: *mut ::c_void) -> ::c_int;
798811
pub fn pthread_attr_getguardsize(attr: *const ::pthread_attr_t,
799812
guardsize: *mut ::size_t) -> ::c_int;
800813
pub fn pthread_attr_getstack(attr: *const ::pthread_attr_t,

src/unix/mod.rs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -708,7 +708,8 @@ extern {
708708
#[cfg_attr(any(
709709
all(target_os = "linux", not(target_env = "musl")),
710710
target_os = "freebsd",
711-
target_os = "dragonfly"),
711+
target_os = "dragonfly",
712+
target_os = "haiku"),
712713
link_name = "__res_init")]
713714
#[cfg_attr(any(target_os = "macos", target_os = "ios"),
714715
link_name = "res_9_init")]

0 commit comments

Comments
 (0)