12add0d91Sopenharmony_ci//! Interface to VxWorks C library 22add0d91Sopenharmony_ci 32add0d91Sopenharmony_ciuse core::mem::size_of; 42add0d91Sopenharmony_ciuse core::ptr::null_mut; 52add0d91Sopenharmony_ci 62add0d91Sopenharmony_ci#[cfg_attr(feature = "extra_traits", derive(Debug))] 72add0d91Sopenharmony_cipub enum DIR {} 82add0d91Sopenharmony_ciimpl ::Copy for DIR {} 92add0d91Sopenharmony_ciimpl ::Clone for DIR { 102add0d91Sopenharmony_ci fn clone(&self) -> DIR { 112add0d91Sopenharmony_ci *self 122add0d91Sopenharmony_ci } 132add0d91Sopenharmony_ci} 142add0d91Sopenharmony_ci 152add0d91Sopenharmony_cipub type c_schar = i8; 162add0d91Sopenharmony_cipub type c_uchar = u8; 172add0d91Sopenharmony_cipub type c_short = i16; 182add0d91Sopenharmony_cipub type c_ushort = u16; 192add0d91Sopenharmony_cipub type c_int = i32; 202add0d91Sopenharmony_cipub type c_uint = u32; 212add0d91Sopenharmony_cipub type c_float = f32; 222add0d91Sopenharmony_cipub type c_double = f64; 232add0d91Sopenharmony_cipub type c_longlong = i64; 242add0d91Sopenharmony_cipub type c_ulonglong = u64; 252add0d91Sopenharmony_cipub type intmax_t = i64; 262add0d91Sopenharmony_cipub type uintmax_t = u64; 272add0d91Sopenharmony_ci 282add0d91Sopenharmony_cipub type uintptr_t = usize; 292add0d91Sopenharmony_cipub type intptr_t = isize; 302add0d91Sopenharmony_cipub type ptrdiff_t = isize; 312add0d91Sopenharmony_cipub type size_t = ::uintptr_t; 322add0d91Sopenharmony_cipub type ssize_t = ::intptr_t; 332add0d91Sopenharmony_ci 342add0d91Sopenharmony_cipub type pid_t = ::c_int; 352add0d91Sopenharmony_cipub type in_addr_t = u32; 362add0d91Sopenharmony_cipub type sighandler_t = ::size_t; 372add0d91Sopenharmony_cipub type cpuset_t = u32; 382add0d91Sopenharmony_ci 392add0d91Sopenharmony_cipub type blkcnt_t = ::c_long; 402add0d91Sopenharmony_cipub type blksize_t = ::c_long; 412add0d91Sopenharmony_cipub type ino_t = ::c_ulong; 422add0d91Sopenharmony_ci 432add0d91Sopenharmony_cipub type rlim_t = ::c_ulong; 442add0d91Sopenharmony_cipub type suseconds_t = ::c_long; 452add0d91Sopenharmony_cipub type time_t = ::c_long; 462add0d91Sopenharmony_ci 472add0d91Sopenharmony_cipub type errno_t = ::c_int; 482add0d91Sopenharmony_ci 492add0d91Sopenharmony_cipub type useconds_t = ::c_ulong; 502add0d91Sopenharmony_ci 512add0d91Sopenharmony_cipub type socklen_t = ::c_uint; 522add0d91Sopenharmony_ci 532add0d91Sopenharmony_cipub type pthread_t = ::c_ulong; 542add0d91Sopenharmony_ci 552add0d91Sopenharmony_cipub type clockid_t = ::c_int; 562add0d91Sopenharmony_ci 572add0d91Sopenharmony_ci//defined for the structs 582add0d91Sopenharmony_cipub type dev_t = ::c_ulong; 592add0d91Sopenharmony_cipub type mode_t = ::c_int; 602add0d91Sopenharmony_cipub type nlink_t = ::c_ulong; 612add0d91Sopenharmony_cipub type uid_t = ::c_ushort; 622add0d91Sopenharmony_cipub type gid_t = ::c_ushort; 632add0d91Sopenharmony_cipub type sigset_t = ::c_ulonglong; 642add0d91Sopenharmony_cipub type key_t = ::c_long; 652add0d91Sopenharmony_ci 662add0d91Sopenharmony_cipub type nfds_t = ::c_uint; 672add0d91Sopenharmony_cipub type stat64 = ::stat; 682add0d91Sopenharmony_ci 692add0d91Sopenharmony_cipub type pthread_key_t = ::c_ulong; 702add0d91Sopenharmony_ci 712add0d91Sopenharmony_ci// From b_off_t.h 722add0d91Sopenharmony_cipub type off_t = ::c_longlong; 732add0d91Sopenharmony_cipub type off64_t = off_t; 742add0d91Sopenharmony_ci 752add0d91Sopenharmony_ci// From b_BOOL.h 762add0d91Sopenharmony_cipub type BOOL = ::c_int; 772add0d91Sopenharmony_ci 782add0d91Sopenharmony_ci// From vxWind.h .. 792add0d91Sopenharmony_cipub type _Vx_OBJ_HANDLE = ::c_int; 802add0d91Sopenharmony_cipub type _Vx_TASK_ID = ::_Vx_OBJ_HANDLE; 812add0d91Sopenharmony_cipub type _Vx_MSG_Q_ID = ::_Vx_OBJ_HANDLE; 822add0d91Sopenharmony_cipub type _Vx_SEM_ID_KERNEL = ::_Vx_OBJ_HANDLE; 832add0d91Sopenharmony_cipub type _Vx_RTP_ID = ::_Vx_OBJ_HANDLE; 842add0d91Sopenharmony_cipub type _Vx_SD_ID = ::_Vx_OBJ_HANDLE; 852add0d91Sopenharmony_cipub type _Vx_CONDVAR_ID = ::_Vx_OBJ_HANDLE; 862add0d91Sopenharmony_cipub type _Vx_SEM_ID = *mut ::_Vx_semaphore; 872add0d91Sopenharmony_cipub type OBJ_HANDLE = ::_Vx_OBJ_HANDLE; 882add0d91Sopenharmony_cipub type TASK_ID = ::OBJ_HANDLE; 892add0d91Sopenharmony_cipub type MSG_Q_ID = ::OBJ_HANDLE; 902add0d91Sopenharmony_cipub type SEM_ID_KERNEL = ::OBJ_HANDLE; 912add0d91Sopenharmony_cipub type RTP_ID = ::OBJ_HANDLE; 922add0d91Sopenharmony_cipub type SD_ID = ::OBJ_HANDLE; 932add0d91Sopenharmony_cipub type CONDVAR_ID = ::OBJ_HANDLE; 942add0d91Sopenharmony_ci 952add0d91Sopenharmony_ci// From vxTypes.h 962add0d91Sopenharmony_cipub type _Vx_usr_arg_t = isize; 972add0d91Sopenharmony_cipub type _Vx_exit_code_t = isize; 982add0d91Sopenharmony_cipub type _Vx_ticks_t = ::c_uint; 992add0d91Sopenharmony_cipub type _Vx_ticks64_t = ::c_ulonglong; 1002add0d91Sopenharmony_ci 1012add0d91Sopenharmony_cipub type sa_family_t = ::c_uchar; 1022add0d91Sopenharmony_ci 1032add0d91Sopenharmony_ci// mqueue.h 1042add0d91Sopenharmony_cipub type mqd_t = ::c_int; 1052add0d91Sopenharmony_ci 1062add0d91Sopenharmony_ci#[cfg_attr(feature = "extra_traits", derive(Debug))] 1072add0d91Sopenharmony_cipub enum _Vx_semaphore {} 1082add0d91Sopenharmony_ciimpl ::Copy for _Vx_semaphore {} 1092add0d91Sopenharmony_ciimpl ::Clone for _Vx_semaphore { 1102add0d91Sopenharmony_ci fn clone(&self) -> _Vx_semaphore { 1112add0d91Sopenharmony_ci *self 1122add0d91Sopenharmony_ci } 1132add0d91Sopenharmony_ci} 1142add0d91Sopenharmony_ci 1152add0d91Sopenharmony_ciimpl siginfo_t { 1162add0d91Sopenharmony_ci pub unsafe fn si_addr(&self) -> *mut ::c_void { 1172add0d91Sopenharmony_ci self.si_addr 1182add0d91Sopenharmony_ci } 1192add0d91Sopenharmony_ci 1202add0d91Sopenharmony_ci pub unsafe fn si_value(&self) -> ::sigval { 1212add0d91Sopenharmony_ci self.si_value 1222add0d91Sopenharmony_ci } 1232add0d91Sopenharmony_ci 1242add0d91Sopenharmony_ci pub unsafe fn si_pid(&self) -> ::pid_t { 1252add0d91Sopenharmony_ci self.si_pid 1262add0d91Sopenharmony_ci } 1272add0d91Sopenharmony_ci 1282add0d91Sopenharmony_ci pub unsafe fn si_uid(&self) -> ::uid_t { 1292add0d91Sopenharmony_ci self.si_uid 1302add0d91Sopenharmony_ci } 1312add0d91Sopenharmony_ci 1322add0d91Sopenharmony_ci pub unsafe fn si_status(&self) -> ::c_int { 1332add0d91Sopenharmony_ci self.si_status 1342add0d91Sopenharmony_ci } 1352add0d91Sopenharmony_ci} 1362add0d91Sopenharmony_ci 1372add0d91Sopenharmony_cis! { 1382add0d91Sopenharmony_ci // b_pthread_condattr_t.h 1392add0d91Sopenharmony_ci pub struct pthread_condattr_t { 1402add0d91Sopenharmony_ci pub condAttrStatus: ::c_int, 1412add0d91Sopenharmony_ci pub condAttrPshared: ::c_int, 1422add0d91Sopenharmony_ci pub condAttrClockId: ::clockid_t, 1432add0d91Sopenharmony_ci } 1442add0d91Sopenharmony_ci 1452add0d91Sopenharmony_ci // b_pthread_cond_t.h 1462add0d91Sopenharmony_ci pub struct pthread_cond_t{ 1472add0d91Sopenharmony_ci pub condSemId: ::_Vx_SEM_ID, 1482add0d91Sopenharmony_ci pub condValid: ::c_int, 1492add0d91Sopenharmony_ci pub condInitted: ::c_int, 1502add0d91Sopenharmony_ci pub condRefCount: ::c_int, 1512add0d91Sopenharmony_ci pub condMutex: *mut ::pthread_mutex_t, 1522add0d91Sopenharmony_ci pub condAttr: ::pthread_condattr_t, 1532add0d91Sopenharmony_ci pub condSemName: [::c_char; _PTHREAD_SHARED_SEM_NAME_MAX] 1542add0d91Sopenharmony_ci } 1552add0d91Sopenharmony_ci 1562add0d91Sopenharmony_ci // b_pthread_rwlockattr_t.h 1572add0d91Sopenharmony_ci pub struct pthread_rwlockattr_t { 1582add0d91Sopenharmony_ci pub rwlockAttrStatus: ::c_int, 1592add0d91Sopenharmony_ci pub rwlockAttrPshared: ::c_int, 1602add0d91Sopenharmony_ci pub rwlockAttrMaxReaders: ::c_uint, 1612add0d91Sopenharmony_ci pub rwlockAttrConformOpt: ::c_uint, 1622add0d91Sopenharmony_ci } 1632add0d91Sopenharmony_ci 1642add0d91Sopenharmony_ci // b_pthread_rwlock_t.h 1652add0d91Sopenharmony_ci pub struct pthread_rwlock_t { 1662add0d91Sopenharmony_ci pub rwlockSemId: :: _Vx_SEM_ID, 1672add0d91Sopenharmony_ci pub rwlockReadersRefCount: ::c_uint, 1682add0d91Sopenharmony_ci pub rwlockValid: ::c_int, 1692add0d91Sopenharmony_ci pub rwlockInitted: ::c_int, 1702add0d91Sopenharmony_ci pub rwlockAttr: ::pthread_rwlockattr_t, 1712add0d91Sopenharmony_ci pub rwlockSemName: [::c_char; _PTHREAD_SHARED_SEM_NAME_MAX] 1722add0d91Sopenharmony_ci } 1732add0d91Sopenharmony_ci 1742add0d91Sopenharmony_ci // b_struct_timeval.h 1752add0d91Sopenharmony_ci pub struct timeval { 1762add0d91Sopenharmony_ci pub tv_sec: ::time_t, 1772add0d91Sopenharmony_ci pub tv_usec: ::suseconds_t, 1782add0d91Sopenharmony_ci } 1792add0d91Sopenharmony_ci 1802add0d91Sopenharmony_ci // socket.h 1812add0d91Sopenharmony_ci pub struct linger { 1822add0d91Sopenharmony_ci pub l_onoff: ::c_int, 1832add0d91Sopenharmony_ci pub l_linger: ::c_int, 1842add0d91Sopenharmony_ci } 1852add0d91Sopenharmony_ci 1862add0d91Sopenharmony_ci pub struct sockaddr { 1872add0d91Sopenharmony_ci pub sa_len : ::c_uchar, 1882add0d91Sopenharmony_ci pub sa_family : sa_family_t, 1892add0d91Sopenharmony_ci pub sa_data : [::c_char; 14], 1902add0d91Sopenharmony_ci } 1912add0d91Sopenharmony_ci 1922add0d91Sopenharmony_ci pub struct iovec { 1932add0d91Sopenharmony_ci pub iov_base: *mut ::c_void, 1942add0d91Sopenharmony_ci pub iov_len: ::size_t, 1952add0d91Sopenharmony_ci } 1962add0d91Sopenharmony_ci 1972add0d91Sopenharmony_ci pub struct msghdr { 1982add0d91Sopenharmony_ci pub msg_name: *mut c_void, 1992add0d91Sopenharmony_ci pub msg_namelen: socklen_t, 2002add0d91Sopenharmony_ci pub msg_iov: *mut iovec, 2012add0d91Sopenharmony_ci pub msg_iovlen: ::c_int, 2022add0d91Sopenharmony_ci pub msg_control: *mut c_void, 2032add0d91Sopenharmony_ci pub msg_controllen: socklen_t, 2042add0d91Sopenharmony_ci pub msg_flags: ::c_int, 2052add0d91Sopenharmony_ci } 2062add0d91Sopenharmony_ci 2072add0d91Sopenharmony_ci pub struct cmsghdr { 2082add0d91Sopenharmony_ci pub cmsg_len: socklen_t, 2092add0d91Sopenharmony_ci pub cmsg_level: ::c_int, 2102add0d91Sopenharmony_ci pub cmsg_type: ::c_int, 2112add0d91Sopenharmony_ci } 2122add0d91Sopenharmony_ci 2132add0d91Sopenharmony_ci // poll.h 2142add0d91Sopenharmony_ci pub struct pollfd { 2152add0d91Sopenharmony_ci pub fd : ::c_int, 2162add0d91Sopenharmony_ci pub events : ::c_short, 2172add0d91Sopenharmony_ci pub revents : ::c_short, 2182add0d91Sopenharmony_ci } 2192add0d91Sopenharmony_ci 2202add0d91Sopenharmony_ci // resource.h 2212add0d91Sopenharmony_ci pub struct rlimit { 2222add0d91Sopenharmony_ci pub rlim_cur : ::rlim_t, 2232add0d91Sopenharmony_ci pub rlim_max : ::rlim_t, 2242add0d91Sopenharmony_ci } 2252add0d91Sopenharmony_ci 2262add0d91Sopenharmony_ci // stat.h 2272add0d91Sopenharmony_ci pub struct stat { 2282add0d91Sopenharmony_ci pub st_dev : ::dev_t, 2292add0d91Sopenharmony_ci pub st_ino : ::ino_t, 2302add0d91Sopenharmony_ci pub st_mode : ::mode_t, 2312add0d91Sopenharmony_ci pub st_nlink : ::nlink_t, 2322add0d91Sopenharmony_ci pub st_uid : ::uid_t, 2332add0d91Sopenharmony_ci pub st_gid : ::gid_t, 2342add0d91Sopenharmony_ci pub st_rdev : ::dev_t, 2352add0d91Sopenharmony_ci pub st_size : ::off_t, 2362add0d91Sopenharmony_ci pub st_atime : ::time_t, 2372add0d91Sopenharmony_ci pub st_mtime : ::time_t, 2382add0d91Sopenharmony_ci pub st_ctime : ::time_t, 2392add0d91Sopenharmony_ci pub st_blksize : ::blksize_t, 2402add0d91Sopenharmony_ci pub st_blocks : ::blkcnt_t, 2412add0d91Sopenharmony_ci pub st_attrib : ::c_uchar, 2422add0d91Sopenharmony_ci pub st_reserved1 : ::c_int, 2432add0d91Sopenharmony_ci pub st_reserved2 : ::c_int, 2442add0d91Sopenharmony_ci pub st_reserved3 : ::c_int, 2452add0d91Sopenharmony_ci pub st_reserved4 : ::c_int, 2462add0d91Sopenharmony_ci } 2472add0d91Sopenharmony_ci 2482add0d91Sopenharmony_ci //b_struct__Timespec.h 2492add0d91Sopenharmony_ci pub struct _Timespec { 2502add0d91Sopenharmony_ci pub tv_sec : ::time_t, 2512add0d91Sopenharmony_ci pub tv_nsec : ::c_long, 2522add0d91Sopenharmony_ci } 2532add0d91Sopenharmony_ci 2542add0d91Sopenharmony_ci // b_struct__Sched_param.h 2552add0d91Sopenharmony_ci pub struct _Sched_param { 2562add0d91Sopenharmony_ci pub sched_priority: ::c_int, /* scheduling priority */ 2572add0d91Sopenharmony_ci pub sched_ss_low_priority: ::c_int, /* low scheduling priority */ 2582add0d91Sopenharmony_ci pub sched_ss_repl_period: ::_Timespec, /* replenishment period */ 2592add0d91Sopenharmony_ci pub sched_ss_init_budget: ::_Timespec, /* initial budget */ 2602add0d91Sopenharmony_ci pub sched_ss_max_repl: ::c_int, /* max pending replenishment */ 2612add0d91Sopenharmony_ci 2622add0d91Sopenharmony_ci } 2632add0d91Sopenharmony_ci 2642add0d91Sopenharmony_ci // b_pthread_attr_t.h 2652add0d91Sopenharmony_ci pub struct pthread_attr_t { 2662add0d91Sopenharmony_ci pub threadAttrStatus : ::c_int, 2672add0d91Sopenharmony_ci pub threadAttrStacksize : ::size_t, 2682add0d91Sopenharmony_ci pub threadAttrStackaddr : *mut ::c_void, 2692add0d91Sopenharmony_ci pub threadAttrGuardsize : ::size_t, 2702add0d91Sopenharmony_ci pub threadAttrDetachstate : ::c_int, 2712add0d91Sopenharmony_ci pub threadAttrContentionscope : ::c_int, 2722add0d91Sopenharmony_ci pub threadAttrInheritsched : ::c_int, 2732add0d91Sopenharmony_ci pub threadAttrSchedpolicy : ::c_int, 2742add0d91Sopenharmony_ci pub threadAttrName : *mut ::c_char, 2752add0d91Sopenharmony_ci pub threadAttrOptions : ::c_int, 2762add0d91Sopenharmony_ci pub threadAttrSchedparam : ::_Sched_param, 2772add0d91Sopenharmony_ci } 2782add0d91Sopenharmony_ci 2792add0d91Sopenharmony_ci // signal.h 2802add0d91Sopenharmony_ci 2812add0d91Sopenharmony_ci pub struct sigaction { 2822add0d91Sopenharmony_ci pub sa_u : ::sa_u_t, 2832add0d91Sopenharmony_ci pub sa_mask : ::sigset_t, 2842add0d91Sopenharmony_ci pub sa_flags : ::c_int, 2852add0d91Sopenharmony_ci } 2862add0d91Sopenharmony_ci 2872add0d91Sopenharmony_ci // b_stack_t.h 2882add0d91Sopenharmony_ci pub struct stack_t { 2892add0d91Sopenharmony_ci pub ss_sp : *mut ::c_void, 2902add0d91Sopenharmony_ci pub ss_size : ::size_t, 2912add0d91Sopenharmony_ci pub ss_flags : ::c_int, 2922add0d91Sopenharmony_ci } 2932add0d91Sopenharmony_ci 2942add0d91Sopenharmony_ci // signal.h 2952add0d91Sopenharmony_ci pub struct siginfo_t { 2962add0d91Sopenharmony_ci pub si_signo : ::c_int, 2972add0d91Sopenharmony_ci pub si_code : ::c_int, 2982add0d91Sopenharmony_ci pub si_value : ::sigval, 2992add0d91Sopenharmony_ci pub si_errno : ::c_int, 3002add0d91Sopenharmony_ci pub si_status: ::c_int, 3012add0d91Sopenharmony_ci pub si_addr: *mut ::c_void, 3022add0d91Sopenharmony_ci pub si_uid: ::uid_t, 3032add0d91Sopenharmony_ci pub si_pid: ::pid_t, 3042add0d91Sopenharmony_ci } 3052add0d91Sopenharmony_ci 3062add0d91Sopenharmony_ci // pthread.h (krnl) 3072add0d91Sopenharmony_ci // b_pthread_mutexattr_t.h (usr) 3082add0d91Sopenharmony_ci pub struct pthread_mutexattr_t { 3092add0d91Sopenharmony_ci mutexAttrStatus : ::c_int, 3102add0d91Sopenharmony_ci mutexAttrPshared : ::c_int, 3112add0d91Sopenharmony_ci mutexAttrProtocol : ::c_int, 3122add0d91Sopenharmony_ci mutexAttrPrioceiling : ::c_int, 3132add0d91Sopenharmony_ci mutexAttrType : ::c_int, 3142add0d91Sopenharmony_ci } 3152add0d91Sopenharmony_ci 3162add0d91Sopenharmony_ci // pthread.h (krnl) 3172add0d91Sopenharmony_ci // b_pthread_mutex_t.h (usr) 3182add0d91Sopenharmony_ci pub struct pthread_mutex_t { 3192add0d91Sopenharmony_ci pub mutexSemId: ::_Vx_SEM_ID, /*_Vx_SEM_ID ..*/ 3202add0d91Sopenharmony_ci pub mutexValid: ::c_int, 3212add0d91Sopenharmony_ci pub mutexInitted: ::c_int, 3222add0d91Sopenharmony_ci pub mutexCondRefCount: ::c_int, 3232add0d91Sopenharmony_ci pub mutexSavPriority: ::c_int, 3242add0d91Sopenharmony_ci pub mutexAttr: ::pthread_mutexattr_t, 3252add0d91Sopenharmony_ci pub mutexSemName: [::c_char; _PTHREAD_SHARED_SEM_NAME_MAX], 3262add0d91Sopenharmony_ci } 3272add0d91Sopenharmony_ci 3282add0d91Sopenharmony_ci // b_struct_timespec.h 3292add0d91Sopenharmony_ci pub struct timespec { 3302add0d91Sopenharmony_ci pub tv_sec: ::time_t, 3312add0d91Sopenharmony_ci pub tv_nsec: ::c_long, 3322add0d91Sopenharmony_ci } 3332add0d91Sopenharmony_ci 3342add0d91Sopenharmony_ci // time.h 3352add0d91Sopenharmony_ci pub struct tm { 3362add0d91Sopenharmony_ci pub tm_sec: ::c_int, 3372add0d91Sopenharmony_ci pub tm_min: ::c_int, 3382add0d91Sopenharmony_ci pub tm_hour: ::c_int, 3392add0d91Sopenharmony_ci pub tm_mday: ::c_int, 3402add0d91Sopenharmony_ci pub tm_mon: ::c_int, 3412add0d91Sopenharmony_ci pub tm_year: ::c_int, 3422add0d91Sopenharmony_ci pub tm_wday: ::c_int, 3432add0d91Sopenharmony_ci pub tm_yday: ::c_int, 3442add0d91Sopenharmony_ci pub tm_isdst: ::c_int, 3452add0d91Sopenharmony_ci } 3462add0d91Sopenharmony_ci 3472add0d91Sopenharmony_ci // in.h 3482add0d91Sopenharmony_ci pub struct in_addr { 3492add0d91Sopenharmony_ci pub s_addr: in_addr_t, 3502add0d91Sopenharmony_ci } 3512add0d91Sopenharmony_ci 3522add0d91Sopenharmony_ci // in.h 3532add0d91Sopenharmony_ci pub struct ip_mreq { 3542add0d91Sopenharmony_ci pub imr_multiaddr: in_addr, 3552add0d91Sopenharmony_ci pub imr_interface: in_addr, 3562add0d91Sopenharmony_ci } 3572add0d91Sopenharmony_ci 3582add0d91Sopenharmony_ci // in6.h 3592add0d91Sopenharmony_ci #[repr(align(4))] 3602add0d91Sopenharmony_ci pub struct in6_addr { 3612add0d91Sopenharmony_ci pub s6_addr: [u8; 16], 3622add0d91Sopenharmony_ci } 3632add0d91Sopenharmony_ci 3642add0d91Sopenharmony_ci // in6.h 3652add0d91Sopenharmony_ci pub struct ipv6_mreq { 3662add0d91Sopenharmony_ci pub ipv6mr_multiaddr: in6_addr, 3672add0d91Sopenharmony_ci pub ipv6mr_interface: ::c_uint, 3682add0d91Sopenharmony_ci } 3692add0d91Sopenharmony_ci 3702add0d91Sopenharmony_ci // netdb.h 3712add0d91Sopenharmony_ci pub struct addrinfo { 3722add0d91Sopenharmony_ci pub ai_flags : ::c_int, 3732add0d91Sopenharmony_ci pub ai_family : ::c_int, 3742add0d91Sopenharmony_ci pub ai_socktype : ::c_int, 3752add0d91Sopenharmony_ci pub ai_protocol : ::c_int, 3762add0d91Sopenharmony_ci pub ai_addrlen : ::size_t, 3772add0d91Sopenharmony_ci pub ai_canonname: *mut ::c_char, 3782add0d91Sopenharmony_ci pub ai_addr : *mut ::sockaddr, 3792add0d91Sopenharmony_ci pub ai_next : *mut ::addrinfo, 3802add0d91Sopenharmony_ci } 3812add0d91Sopenharmony_ci 3822add0d91Sopenharmony_ci // in.h 3832add0d91Sopenharmony_ci pub struct sockaddr_in { 3842add0d91Sopenharmony_ci pub sin_len : u8, 3852add0d91Sopenharmony_ci pub sin_family: u8, 3862add0d91Sopenharmony_ci pub sin_port : u16, 3872add0d91Sopenharmony_ci pub sin_addr : ::in_addr, 3882add0d91Sopenharmony_ci pub sin_zero : [::c_char; 8], 3892add0d91Sopenharmony_ci } 3902add0d91Sopenharmony_ci 3912add0d91Sopenharmony_ci // in6.h 3922add0d91Sopenharmony_ci pub struct sockaddr_in6 { 3932add0d91Sopenharmony_ci pub sin6_len : u8, 3942add0d91Sopenharmony_ci pub sin6_family : u8, 3952add0d91Sopenharmony_ci pub sin6_port : u16, 3962add0d91Sopenharmony_ci pub sin6_flowinfo: u32, 3972add0d91Sopenharmony_ci pub sin6_addr : ::in6_addr, 3982add0d91Sopenharmony_ci pub sin6_scope_id: u32, 3992add0d91Sopenharmony_ci } 4002add0d91Sopenharmony_ci 4012add0d91Sopenharmony_ci pub struct Dl_info { 4022add0d91Sopenharmony_ci pub dli_fname: *const ::c_char, 4032add0d91Sopenharmony_ci pub dli_fbase: *mut ::c_void, 4042add0d91Sopenharmony_ci pub dli_sname: *const ::c_char, 4052add0d91Sopenharmony_ci pub dli_saddr: *mut ::c_void, 4062add0d91Sopenharmony_ci } 4072add0d91Sopenharmony_ci 4082add0d91Sopenharmony_ci pub struct mq_attr { 4092add0d91Sopenharmony_ci pub mq_maxmsg: ::c_long, 4102add0d91Sopenharmony_ci pub mq_msgsize: ::c_long, 4112add0d91Sopenharmony_ci pub mq_flags: ::c_long, 4122add0d91Sopenharmony_ci pub mq_curmsgs: ::c_long, 4132add0d91Sopenharmony_ci } 4142add0d91Sopenharmony_ci} 4152add0d91Sopenharmony_ci 4162add0d91Sopenharmony_cis_no_extra_traits! { 4172add0d91Sopenharmony_ci // dirent.h 4182add0d91Sopenharmony_ci pub struct dirent { 4192add0d91Sopenharmony_ci pub d_ino : ::ino_t, 4202add0d91Sopenharmony_ci pub d_name : [::c_char; _PARM_NAME_MAX as usize + 1], 4212add0d91Sopenharmony_ci } 4222add0d91Sopenharmony_ci 4232add0d91Sopenharmony_ci pub struct sockaddr_un { 4242add0d91Sopenharmony_ci pub sun_len: u8, 4252add0d91Sopenharmony_ci pub sun_family: sa_family_t, 4262add0d91Sopenharmony_ci pub sun_path: [::c_char; 104] 4272add0d91Sopenharmony_ci } 4282add0d91Sopenharmony_ci 4292add0d91Sopenharmony_ci // rtpLibCommon.h 4302add0d91Sopenharmony_ci pub struct RTP_DESC { 4312add0d91Sopenharmony_ci pub status : ::c_int, 4322add0d91Sopenharmony_ci pub options : u32, 4332add0d91Sopenharmony_ci pub entrAddr : *mut ::c_void, 4342add0d91Sopenharmony_ci pub initTaskId: ::TASK_ID, 4352add0d91Sopenharmony_ci pub parentId : ::RTP_ID, 4362add0d91Sopenharmony_ci pub pathName : [::c_char; VX_RTP_NAME_LENGTH as usize + 1], 4372add0d91Sopenharmony_ci pub taskCnt : ::c_int, 4382add0d91Sopenharmony_ci pub textStart : *mut ::c_void, 4392add0d91Sopenharmony_ci pub textEnd : *mut ::c_void, 4402add0d91Sopenharmony_ci } 4412add0d91Sopenharmony_ci // socket.h 4422add0d91Sopenharmony_ci pub struct sockaddr_storage { 4432add0d91Sopenharmony_ci pub ss_len : ::c_uchar, 4442add0d91Sopenharmony_ci pub ss_family : ::sa_family_t, 4452add0d91Sopenharmony_ci pub __ss_pad1 : [::c_char; _SS_PAD1SIZE], 4462add0d91Sopenharmony_ci pub __ss_align : i32, 4472add0d91Sopenharmony_ci pub __ss_pad2 : [::c_char; _SS_PAD2SIZE], 4482add0d91Sopenharmony_ci } 4492add0d91Sopenharmony_ci 4502add0d91Sopenharmony_ci pub union sa_u_t { 4512add0d91Sopenharmony_ci pub sa_handler : ::Option<unsafe extern "C" fn(::c_int) -> !>, 4522add0d91Sopenharmony_ci pub sa_sigaction: ::Option<unsafe extern "C" fn(::c_int, 4532add0d91Sopenharmony_ci *mut ::siginfo_t, 4542add0d91Sopenharmony_ci *mut ::c_void) -> !>, 4552add0d91Sopenharmony_ci } 4562add0d91Sopenharmony_ci 4572add0d91Sopenharmony_ci pub union sigval { 4582add0d91Sopenharmony_ci pub sival_int : ::c_int, 4592add0d91Sopenharmony_ci pub sival_ptr : *mut ::c_void, 4602add0d91Sopenharmony_ci } 4612add0d91Sopenharmony_ci} 4622add0d91Sopenharmony_ci 4632add0d91Sopenharmony_cicfg_if! { 4642add0d91Sopenharmony_ci if #[cfg(feature = "extra_traits")] { 4652add0d91Sopenharmony_ci impl ::fmt::Debug for dirent { 4662add0d91Sopenharmony_ci fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 4672add0d91Sopenharmony_ci f.debug_struct("dirent") 4682add0d91Sopenharmony_ci .field("d_ino", &self.d_ino) 4692add0d91Sopenharmony_ci .field("d_name", &&self.d_name[..]) 4702add0d91Sopenharmony_ci .finish() 4712add0d91Sopenharmony_ci } 4722add0d91Sopenharmony_ci } 4732add0d91Sopenharmony_ci 4742add0d91Sopenharmony_ci impl ::fmt::Debug for sockaddr_un { 4752add0d91Sopenharmony_ci fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 4762add0d91Sopenharmony_ci f.debug_struct("sockaddr_un") 4772add0d91Sopenharmony_ci .field("sun_len", &self.sun_len) 4782add0d91Sopenharmony_ci .field("sun_family", &self.sun_family) 4792add0d91Sopenharmony_ci .field("sun_path", &&self.sun_path[..]) 4802add0d91Sopenharmony_ci .finish() 4812add0d91Sopenharmony_ci } 4822add0d91Sopenharmony_ci } 4832add0d91Sopenharmony_ci 4842add0d91Sopenharmony_ci impl ::fmt::Debug for RTP_DESC { 4852add0d91Sopenharmony_ci fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 4862add0d91Sopenharmony_ci f.debug_struct("RTP_DESC") 4872add0d91Sopenharmony_ci .field("status", &self.status) 4882add0d91Sopenharmony_ci .field("options", &self.options) 4892add0d91Sopenharmony_ci .field("entrAddr", &self.entrAddr) 4902add0d91Sopenharmony_ci .field("initTaskId", &self.initTaskId) 4912add0d91Sopenharmony_ci .field("parentId", &self.parentId) 4922add0d91Sopenharmony_ci .field("pathName", &&self.pathName[..]) 4932add0d91Sopenharmony_ci .field("taskCnt", &self.taskCnt) 4942add0d91Sopenharmony_ci .field("textStart", &self.textStart) 4952add0d91Sopenharmony_ci .field("textEnd", &self.textEnd) 4962add0d91Sopenharmony_ci .finish() 4972add0d91Sopenharmony_ci } 4982add0d91Sopenharmony_ci } 4992add0d91Sopenharmony_ci impl ::fmt::Debug for sockaddr_storage { 5002add0d91Sopenharmony_ci fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 5012add0d91Sopenharmony_ci f.debug_struct("sockaddr_storage") 5022add0d91Sopenharmony_ci .field("ss_len", &self.ss_len) 5032add0d91Sopenharmony_ci .field("ss_family", &self.ss_family) 5042add0d91Sopenharmony_ci .field("__ss_pad1", &&self.__ss_pad1[..]) 5052add0d91Sopenharmony_ci .field("__ss_align", &self.__ss_align) 5062add0d91Sopenharmony_ci .field("__ss_pad2", &&self.__ss_pad2[..]) 5072add0d91Sopenharmony_ci .finish() 5082add0d91Sopenharmony_ci } 5092add0d91Sopenharmony_ci } 5102add0d91Sopenharmony_ci 5112add0d91Sopenharmony_ci impl PartialEq for sa_u_t { 5122add0d91Sopenharmony_ci fn eq(&self, other: &sa_u_t) -> bool { 5132add0d91Sopenharmony_ci unsafe { 5142add0d91Sopenharmony_ci let h1 = match self.sa_handler { 5152add0d91Sopenharmony_ci Some(handler) => handler as usize, 5162add0d91Sopenharmony_ci None => 0 as usize, 5172add0d91Sopenharmony_ci }; 5182add0d91Sopenharmony_ci let h2 = match other.sa_handler { 5192add0d91Sopenharmony_ci Some(handler) => handler as usize, 5202add0d91Sopenharmony_ci None => 0 as usize, 5212add0d91Sopenharmony_ci }; 5222add0d91Sopenharmony_ci h1 == h2 5232add0d91Sopenharmony_ci } 5242add0d91Sopenharmony_ci } 5252add0d91Sopenharmony_ci } 5262add0d91Sopenharmony_ci impl Eq for sa_u_t {} 5272add0d91Sopenharmony_ci impl ::fmt::Debug for sa_u_t { 5282add0d91Sopenharmony_ci fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 5292add0d91Sopenharmony_ci unsafe { 5302add0d91Sopenharmony_ci let h = match self.sa_handler { 5312add0d91Sopenharmony_ci Some(handler) => handler as usize, 5322add0d91Sopenharmony_ci None => 0 as usize, 5332add0d91Sopenharmony_ci }; 5342add0d91Sopenharmony_ci 5352add0d91Sopenharmony_ci f.debug_struct("sa_u_t") 5362add0d91Sopenharmony_ci .field("sa_handler", &h) 5372add0d91Sopenharmony_ci .finish() 5382add0d91Sopenharmony_ci } 5392add0d91Sopenharmony_ci } 5402add0d91Sopenharmony_ci } 5412add0d91Sopenharmony_ci impl ::hash::Hash for sa_u_t { 5422add0d91Sopenharmony_ci fn hash<H: ::hash::Hasher>(&self, state: &mut H) { 5432add0d91Sopenharmony_ci unsafe { 5442add0d91Sopenharmony_ci let h = match self.sa_handler { 5452add0d91Sopenharmony_ci Some(handler) => handler as usize, 5462add0d91Sopenharmony_ci None => 0 as usize, 5472add0d91Sopenharmony_ci }; 5482add0d91Sopenharmony_ci h.hash(state) 5492add0d91Sopenharmony_ci } 5502add0d91Sopenharmony_ci } 5512add0d91Sopenharmony_ci } 5522add0d91Sopenharmony_ci 5532add0d91Sopenharmony_ci impl PartialEq for sigval { 5542add0d91Sopenharmony_ci fn eq(&self, other: &sigval) -> bool { 5552add0d91Sopenharmony_ci unsafe { self.sival_ptr as usize == other.sival_ptr as usize } 5562add0d91Sopenharmony_ci } 5572add0d91Sopenharmony_ci } 5582add0d91Sopenharmony_ci impl Eq for sigval {} 5592add0d91Sopenharmony_ci impl ::fmt::Debug for sigval { 5602add0d91Sopenharmony_ci fn fmt(&self, f: &mut ::fmt::Formatter) -> ::fmt::Result { 5612add0d91Sopenharmony_ci f.debug_struct("sigval") 5622add0d91Sopenharmony_ci .field("sival_ptr", unsafe { &(self.sival_ptr as usize) }) 5632add0d91Sopenharmony_ci .finish() 5642add0d91Sopenharmony_ci } 5652add0d91Sopenharmony_ci } 5662add0d91Sopenharmony_ci impl ::hash::Hash for sigval { 5672add0d91Sopenharmony_ci fn hash<H: ::hash::Hasher>(&self, state: &mut H) { 5682add0d91Sopenharmony_ci unsafe { (self.sival_ptr as usize).hash(state) }; 5692add0d91Sopenharmony_ci } 5702add0d91Sopenharmony_ci } 5712add0d91Sopenharmony_ci } 5722add0d91Sopenharmony_ci} 5732add0d91Sopenharmony_ci 5742add0d91Sopenharmony_cipub const STDIN_FILENO: ::c_int = 0; 5752add0d91Sopenharmony_cipub const STDOUT_FILENO: ::c_int = 1; 5762add0d91Sopenharmony_cipub const STDERR_FILENO: ::c_int = 2; 5772add0d91Sopenharmony_ci 5782add0d91Sopenharmony_cipub const EXIT_SUCCESS: ::c_int = 0; 5792add0d91Sopenharmony_cipub const EXIT_FAILURE: ::c_int = 1; 5802add0d91Sopenharmony_ci 5812add0d91Sopenharmony_cipub const EAI_SERVICE: ::c_int = 9; 5822add0d91Sopenharmony_cipub const EAI_SOCKTYPE: ::c_int = 10; 5832add0d91Sopenharmony_cipub const EAI_SYSTEM: ::c_int = 11; 5842add0d91Sopenharmony_ci 5852add0d91Sopenharmony_ci// This is not defined in vxWorks, but we have to define it here 5862add0d91Sopenharmony_ci// to make the building pass for getrandom and libstd, FIXME 5872add0d91Sopenharmony_cipub const RTLD_DEFAULT: *mut ::c_void = 0i64 as *mut ::c_void; 5882add0d91Sopenharmony_ci 5892add0d91Sopenharmony_ci//Clock Lib Stuff 5902add0d91Sopenharmony_cipub const CLOCK_REALTIME: ::c_int = 0x0; 5912add0d91Sopenharmony_cipub const CLOCK_MONOTONIC: ::c_int = 0x1; 5922add0d91Sopenharmony_cipub const CLOCK_PROCESS_CPUTIME_ID: ::c_int = 0x2; 5932add0d91Sopenharmony_cipub const CLOCK_THREAD_CPUTIME_ID: ::c_int = 0x3; 5942add0d91Sopenharmony_cipub const TIMER_ABSTIME: ::c_int = 0x1; 5952add0d91Sopenharmony_cipub const TIMER_RELTIME: ::c_int = 0x0; 5962add0d91Sopenharmony_ci 5972add0d91Sopenharmony_ci// PTHREAD STUFF 5982add0d91Sopenharmony_cipub const PTHREAD_INITIALIZED_OBJ: ::c_int = 0xF70990EF; 5992add0d91Sopenharmony_cipub const PTHREAD_DESTROYED_OBJ: ::c_int = -1; 6002add0d91Sopenharmony_cipub const PTHREAD_VALID_OBJ: ::c_int = 0xEC542A37; 6012add0d91Sopenharmony_cipub const PTHREAD_INVALID_OBJ: ::c_int = -1; 6022add0d91Sopenharmony_cipub const PTHREAD_UNUSED_YET_OBJ: ::c_int = -1; 6032add0d91Sopenharmony_ci 6042add0d91Sopenharmony_cipub const PTHREAD_PRIO_NONE: ::c_int = 0; 6052add0d91Sopenharmony_cipub const PTHREAD_PRIO_INHERIT: ::c_int = 1; 6062add0d91Sopenharmony_cipub const PTHREAD_PRIO_PROTECT: ::c_int = 2; 6072add0d91Sopenharmony_ci 6082add0d91Sopenharmony_cipub const PTHREAD_MUTEX_NORMAL: ::c_int = 0; 6092add0d91Sopenharmony_cipub const PTHREAD_MUTEX_ERRORCHECK: ::c_int = 1; 6102add0d91Sopenharmony_cipub const PTHREAD_MUTEX_RECURSIVE: ::c_int = 2; 6112add0d91Sopenharmony_cipub const PTHREAD_MUTEX_DEFAULT: ::c_int = PTHREAD_MUTEX_NORMAL; 6122add0d91Sopenharmony_cipub const PTHREAD_STACK_MIN: usize = 4096; 6132add0d91Sopenharmony_cipub const _PTHREAD_SHARED_SEM_NAME_MAX: usize = 30; 6142add0d91Sopenharmony_ci 6152add0d91Sopenharmony_ci// ERRNO STUFF 6162add0d91Sopenharmony_cipub const OK: ::c_int = 0; 6172add0d91Sopenharmony_cipub const EPERM: ::c_int = 1; /* Not owner */ 6182add0d91Sopenharmony_cipub const ENOENT: ::c_int = 2; /* No such file or directory */ 6192add0d91Sopenharmony_cipub const ESRCH: ::c_int = 3; /* No such process */ 6202add0d91Sopenharmony_cipub const EINTR: ::c_int = 4; /* Interrupted system call */ 6212add0d91Sopenharmony_cipub const EIO: ::c_int = 5; /* I/O error */ 6222add0d91Sopenharmony_cipub const ENXIO: ::c_int = 6; /* No such device or address */ 6232add0d91Sopenharmony_cipub const E2BIG: ::c_int = 7; /* Arg list too long */ 6242add0d91Sopenharmony_cipub const ENOEXEC: ::c_int = 8; /* Exec format error */ 6252add0d91Sopenharmony_cipub const EBADF: ::c_int = 9; /* Bad file number */ 6262add0d91Sopenharmony_cipub const ECHILD: ::c_int = 10; /* No children */ 6272add0d91Sopenharmony_cipub const EAGAIN: ::c_int = 11; /* No more processes */ 6282add0d91Sopenharmony_cipub const ENOMEM: ::c_int = 12; /* Not enough core */ 6292add0d91Sopenharmony_cipub const EACCES: ::c_int = 13; /* Permission denied */ 6302add0d91Sopenharmony_cipub const EFAULT: ::c_int = 14; 6312add0d91Sopenharmony_cipub const ENOTEMPTY: ::c_int = 15; 6322add0d91Sopenharmony_cipub const EBUSY: ::c_int = 16; 6332add0d91Sopenharmony_cipub const EEXIST: ::c_int = 17; 6342add0d91Sopenharmony_cipub const EXDEV: ::c_int = 18; 6352add0d91Sopenharmony_cipub const ENODEV: ::c_int = 19; 6362add0d91Sopenharmony_cipub const ENOTDIR: ::c_int = 20; 6372add0d91Sopenharmony_cipub const EISDIR: ::c_int = 21; 6382add0d91Sopenharmony_cipub const EINVAL: ::c_int = 22; 6392add0d91Sopenharmony_cipub const ENAMETOOLONG: ::c_int = 26; 6402add0d91Sopenharmony_cipub const EFBIG: ::c_int = 27; 6412add0d91Sopenharmony_cipub const ENOSPC: ::c_int = 28; 6422add0d91Sopenharmony_cipub const ESPIPE: ::c_int = 29; 6432add0d91Sopenharmony_cipub const EROFS: ::c_int = 30; 6442add0d91Sopenharmony_cipub const EMLINK: ::c_int = 31; 6452add0d91Sopenharmony_cipub const EPIPE: ::c_int = 32; 6462add0d91Sopenharmony_cipub const EDEADLK: ::c_int = 33; 6472add0d91Sopenharmony_cipub const ERANGE: ::c_int = 38; 6482add0d91Sopenharmony_cipub const EDESTADDRREQ: ::c_int = 40; 6492add0d91Sopenharmony_cipub const EPROTOTYPE: ::c_int = 41; 6502add0d91Sopenharmony_cipub const ENOPROTOOPT: ::c_int = 42; 6512add0d91Sopenharmony_cipub const EPROTONOSUPPORT: ::c_int = 43; 6522add0d91Sopenharmony_cipub const ESOCKTNOSUPPORT: ::c_int = 44; 6532add0d91Sopenharmony_cipub const EOPNOTSUPP: ::c_int = 45; 6542add0d91Sopenharmony_cipub const EPFNOSUPPORT: ::c_int = 46; 6552add0d91Sopenharmony_cipub const EAFNOSUPPORT: ::c_int = 47; 6562add0d91Sopenharmony_cipub const EADDRINUSE: ::c_int = 48; 6572add0d91Sopenharmony_cipub const EADDRNOTAVAIL: ::c_int = 49; 6582add0d91Sopenharmony_cipub const ENOTSOCK: ::c_int = 50; 6592add0d91Sopenharmony_cipub const ENETUNREACH: ::c_int = 51; 6602add0d91Sopenharmony_cipub const ENETRESET: ::c_int = 52; 6612add0d91Sopenharmony_cipub const ECONNABORTED: ::c_int = 53; 6622add0d91Sopenharmony_cipub const ECONNRESET: ::c_int = 54; 6632add0d91Sopenharmony_cipub const ENOBUFS: ::c_int = 55; 6642add0d91Sopenharmony_cipub const EISCONN: ::c_int = 56; 6652add0d91Sopenharmony_cipub const ENOTCONN: ::c_int = 57; 6662add0d91Sopenharmony_cipub const ESHUTDOWN: ::c_int = 58; 6672add0d91Sopenharmony_cipub const ETOOMANYREFS: ::c_int = 59; 6682add0d91Sopenharmony_cipub const ETIMEDOUT: ::c_int = 60; 6692add0d91Sopenharmony_cipub const ECONNREFUSED: ::c_int = 61; 6702add0d91Sopenharmony_cipub const ENETDOWN: ::c_int = 62; 6712add0d91Sopenharmony_cipub const ETXTBSY: ::c_int = 63; 6722add0d91Sopenharmony_cipub const ELOOP: ::c_int = 64; 6732add0d91Sopenharmony_cipub const EHOSTUNREACH: ::c_int = 65; 6742add0d91Sopenharmony_cipub const EINPROGRESS: ::c_int = 68; 6752add0d91Sopenharmony_cipub const EALREADY: ::c_int = 69; 6762add0d91Sopenharmony_cipub const EWOULDBLOCK: ::c_int = 70; 6772add0d91Sopenharmony_cipub const ENOSYS: ::c_int = 71; 6782add0d91Sopenharmony_cipub const EDQUOT: ::c_int = 83; 6792add0d91Sopenharmony_cipub const ESTALE: ::c_int = 88; 6802add0d91Sopenharmony_ci 6812add0d91Sopenharmony_ci// NFS errnos: Refer to pkgs_v2/storage/fs/nfs/h/nfs/nfsCommon.h 6822add0d91Sopenharmony_ciconst M_nfsStat: ::c_int = 48 << 16; 6832add0d91Sopenharmony_cienum nfsstat { 6842add0d91Sopenharmony_ci NFSERR_REMOTE = 71, 6852add0d91Sopenharmony_ci NFSERR_WFLUSH = 99, 6862add0d91Sopenharmony_ci NFSERR_BADHANDLE = 10001, 6872add0d91Sopenharmony_ci NFSERR_NOT_SYNC = 10002, 6882add0d91Sopenharmony_ci NFSERR_BAD_COOKIE = 10003, 6892add0d91Sopenharmony_ci NFSERR_TOOSMALL = 10005, 6902add0d91Sopenharmony_ci NFSERR_BADTYPE = 10007, 6912add0d91Sopenharmony_ci NFSERR_JUKEBOX = 10008, 6922add0d91Sopenharmony_ci} 6932add0d91Sopenharmony_ci 6942add0d91Sopenharmony_cipub const S_nfsLib_NFS_OK: ::c_int = OK; 6952add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_PERM: ::c_int = EPERM; 6962add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_NOENT: ::c_int = ENOENT; 6972add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_IO: ::c_int = EIO; 6982add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_NXIO: ::c_int = ENXIO; 6992add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_ACCESS: ::c_int = EACCES; 7002add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_EXIST: ::c_int = EEXIST; 7012add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_ENODEV: ::c_int = ENODEV; 7022add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_NOTDIR: ::c_int = ENOTDIR; 7032add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_ISDIR: ::c_int = EISDIR; 7042add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_INVAL: ::c_int = EINVAL; 7052add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_FBIG: ::c_int = EFBIG; 7062add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_NOSPC: ::c_int = ENOSPC; 7072add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_ROFS: ::c_int = EROFS; 7082add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_NAMETOOLONG: ::c_int = ENAMETOOLONG; 7092add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_NOTEMPTY: ::c_int = ENOTEMPTY; 7102add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_DQUOT: ::c_int = EDQUOT; 7112add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_STALE: ::c_int = ESTALE; 7122add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_WFLUSH: ::c_int = M_nfsStat | nfsstat::NFSERR_WFLUSH as ::c_int; 7132add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_REMOTE: ::c_int = M_nfsStat | nfsstat::NFSERR_REMOTE as ::c_int; 7142add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_BADHANDLE: ::c_int = M_nfsStat | nfsstat::NFSERR_BADHANDLE as ::c_int; 7152add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_NOT_SYNC: ::c_int = M_nfsStat | nfsstat::NFSERR_NOT_SYNC as ::c_int; 7162add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_BAD_COOKIE: ::c_int = M_nfsStat | nfsstat::NFSERR_BAD_COOKIE as ::c_int; 7172add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_NOTSUPP: ::c_int = EOPNOTSUPP; 7182add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_TOOSMALL: ::c_int = M_nfsStat | nfsstat::NFSERR_TOOSMALL as ::c_int; 7192add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_SERVERFAULT: ::c_int = EIO; 7202add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_BADTYPE: ::c_int = M_nfsStat | nfsstat::NFSERR_BADTYPE as ::c_int; 7212add0d91Sopenharmony_cipub const S_nfsLib_NFSERR_JUKEBOX: ::c_int = M_nfsStat | nfsstat::NFSERR_JUKEBOX as ::c_int; 7222add0d91Sopenharmony_ci 7232add0d91Sopenharmony_ci// in.h 7242add0d91Sopenharmony_cipub const IPPROTO_IP: ::c_int = 0; 7252add0d91Sopenharmony_cipub const IPPROTO_IPV6: ::c_int = 41; 7262add0d91Sopenharmony_ci 7272add0d91Sopenharmony_cipub const IP_TTL: ::c_int = 4; 7282add0d91Sopenharmony_cipub const IP_MULTICAST_IF: ::c_int = 9; 7292add0d91Sopenharmony_cipub const IP_MULTICAST_TTL: ::c_int = 10; 7302add0d91Sopenharmony_cipub const IP_MULTICAST_LOOP: ::c_int = 11; 7312add0d91Sopenharmony_cipub const IP_ADD_MEMBERSHIP: ::c_int = 12; 7322add0d91Sopenharmony_cipub const IP_DROP_MEMBERSHIP: ::c_int = 13; 7332add0d91Sopenharmony_ci 7342add0d91Sopenharmony_ci// in6.h 7352add0d91Sopenharmony_cipub const IPV6_V6ONLY: ::c_int = 1; 7362add0d91Sopenharmony_cipub const IPV6_UNICAST_HOPS: ::c_int = 4; 7372add0d91Sopenharmony_cipub const IPV6_MULTICAST_IF: ::c_int = 9; 7382add0d91Sopenharmony_cipub const IPV6_MULTICAST_HOPS: ::c_int = 10; 7392add0d91Sopenharmony_cipub const IPV6_MULTICAST_LOOP: ::c_int = 11; 7402add0d91Sopenharmony_cipub const IPV6_ADD_MEMBERSHIP: ::c_int = 12; 7412add0d91Sopenharmony_cipub const IPV6_DROP_MEMBERSHIP: ::c_int = 13; 7422add0d91Sopenharmony_ci 7432add0d91Sopenharmony_ci// STAT Stuff 7442add0d91Sopenharmony_cipub const S_IFMT: ::c_int = 0xf000; 7452add0d91Sopenharmony_cipub const S_IFIFO: ::c_int = 0x1000; 7462add0d91Sopenharmony_cipub const S_IFCHR: ::c_int = 0x2000; 7472add0d91Sopenharmony_cipub const S_IFDIR: ::c_int = 0x4000; 7482add0d91Sopenharmony_cipub const S_IFBLK: ::c_int = 0x6000; 7492add0d91Sopenharmony_cipub const S_IFREG: ::c_int = 0x8000; 7502add0d91Sopenharmony_cipub const S_IFLNK: ::c_int = 0xa000; 7512add0d91Sopenharmony_cipub const S_IFSHM: ::c_int = 0xb000; 7522add0d91Sopenharmony_cipub const S_IFSOCK: ::c_int = 0xc000; 7532add0d91Sopenharmony_cipub const S_ISUID: ::c_int = 0x0800; 7542add0d91Sopenharmony_cipub const S_ISGID: ::c_int = 0x0400; 7552add0d91Sopenharmony_cipub const S_ISTXT: ::c_int = 0x0200; 7562add0d91Sopenharmony_cipub const S_IRUSR: ::c_int = 0x0100; 7572add0d91Sopenharmony_cipub const S_IWUSR: ::c_int = 0x0080; 7582add0d91Sopenharmony_cipub const S_IXUSR: ::c_int = 0x0040; 7592add0d91Sopenharmony_cipub const S_IRWXU: ::c_int = 0x01c0; 7602add0d91Sopenharmony_cipub const S_IRGRP: ::c_int = 0x0020; 7612add0d91Sopenharmony_cipub const S_IWGRP: ::c_int = 0x0010; 7622add0d91Sopenharmony_cipub const S_IXGRP: ::c_int = 0x0008; 7632add0d91Sopenharmony_cipub const S_IRWXG: ::c_int = 0x0038; 7642add0d91Sopenharmony_cipub const S_IROTH: ::c_int = 0x0004; 7652add0d91Sopenharmony_cipub const S_IWOTH: ::c_int = 0x0002; 7662add0d91Sopenharmony_cipub const S_IXOTH: ::c_int = 0x0001; 7672add0d91Sopenharmony_cipub const S_IRWXO: ::c_int = 0x0007; 7682add0d91Sopenharmony_ci 7692add0d91Sopenharmony_ci// socket.h 7702add0d91Sopenharmony_cipub const SOL_SOCKET: ::c_int = 0xffff; 7712add0d91Sopenharmony_ci 7722add0d91Sopenharmony_cipub const SO_DEBUG: ::c_int = 0x0001; 7732add0d91Sopenharmony_cipub const SO_REUSEADDR: ::c_int = 0x0004; 7742add0d91Sopenharmony_cipub const SO_KEEPALIVE: ::c_int = 0x0008; 7752add0d91Sopenharmony_cipub const SO_DONTROUTE: ::c_int = 0x0010; 7762add0d91Sopenharmony_cipub const SO_RCVLOWAT: ::c_int = 0x0012; 7772add0d91Sopenharmony_cipub const SO_SNDLOWAT: ::c_int = 0x0013; 7782add0d91Sopenharmony_cipub const SO_SNDTIMEO: ::c_int = 0x1005; 7792add0d91Sopenharmony_cipub const SO_ACCEPTCONN: ::c_int = 0x001e; 7802add0d91Sopenharmony_cipub const SO_BROADCAST: ::c_int = 0x0020; 7812add0d91Sopenharmony_cipub const SO_USELOOPBACK: ::c_int = 0x0040; 7822add0d91Sopenharmony_cipub const SO_LINGER: ::c_int = 0x0080; 7832add0d91Sopenharmony_cipub const SO_REUSEPORT: ::c_int = 0x0200; 7842add0d91Sopenharmony_ci 7852add0d91Sopenharmony_cipub const SO_VLAN: ::c_int = 0x8000; 7862add0d91Sopenharmony_ci 7872add0d91Sopenharmony_cipub const SO_SNDBUF: ::c_int = 0x1001; 7882add0d91Sopenharmony_cipub const SO_RCVBUF: ::c_int = 0x1002; 7892add0d91Sopenharmony_cipub const SO_RCVTIMEO: ::c_int = 0x1006; 7902add0d91Sopenharmony_cipub const SO_ERROR: ::c_int = 0x1007; 7912add0d91Sopenharmony_cipub const SO_TYPE: ::c_int = 0x1008; 7922add0d91Sopenharmony_cipub const SO_BINDTODEVICE: ::c_int = 0x1010; 7932add0d91Sopenharmony_cipub const SO_OOBINLINE: ::c_int = 0x1011; 7942add0d91Sopenharmony_cipub const SO_CONNTIMEO: ::c_int = 0x100a; 7952add0d91Sopenharmony_ci 7962add0d91Sopenharmony_cipub const SOCK_STREAM: ::c_int = 1; 7972add0d91Sopenharmony_cipub const SOCK_DGRAM: ::c_int = 2; 7982add0d91Sopenharmony_cipub const SOCK_RAW: ::c_int = 3; 7992add0d91Sopenharmony_cipub const SOCK_RDM: ::c_int = 4; 8002add0d91Sopenharmony_cipub const SOCK_SEQPACKET: ::c_int = 5; 8012add0d91Sopenharmony_cipub const SOCK_PACKET: ::c_int = 10; 8022add0d91Sopenharmony_ci 8032add0d91Sopenharmony_cipub const _SS_MAXSIZE: usize = 128; 8042add0d91Sopenharmony_cipub const _SS_ALIGNSIZE: usize = size_of::<u32>(); 8052add0d91Sopenharmony_cipub const _SS_PAD1SIZE: usize = _SS_ALIGNSIZE - size_of::<::c_uchar>() - size_of::<::sa_family_t>(); 8062add0d91Sopenharmony_cipub const _SS_PAD2SIZE: usize = _SS_MAXSIZE 8072add0d91Sopenharmony_ci - size_of::<::c_uchar>() 8082add0d91Sopenharmony_ci - size_of::<::sa_family_t>() 8092add0d91Sopenharmony_ci - _SS_PAD1SIZE 8102add0d91Sopenharmony_ci - _SS_ALIGNSIZE; 8112add0d91Sopenharmony_ci 8122add0d91Sopenharmony_cipub const MSG_OOB: ::c_int = 0x0001; 8132add0d91Sopenharmony_cipub const MSG_PEEK: ::c_int = 0x0002; 8142add0d91Sopenharmony_cipub const MSG_DONTROUTE: ::c_int = 0x0004; 8152add0d91Sopenharmony_cipub const MSG_EOR: ::c_int = 0x0008; 8162add0d91Sopenharmony_cipub const MSG_TRUNC: ::c_int = 0x0010; 8172add0d91Sopenharmony_cipub const MSG_CTRUNC: ::c_int = 0x0020; 8182add0d91Sopenharmony_cipub const MSG_WAITALL: ::c_int = 0x0040; 8192add0d91Sopenharmony_cipub const MSG_DONTWAIT: ::c_int = 0x0080; 8202add0d91Sopenharmony_cipub const MSG_EOF: ::c_int = 0x0100; 8212add0d91Sopenharmony_cipub const MSG_EXP: ::c_int = 0x0200; 8222add0d91Sopenharmony_cipub const MSG_MBUF: ::c_int = 0x0400; 8232add0d91Sopenharmony_cipub const MSG_NOTIFICATION: ::c_int = 0x0800; 8242add0d91Sopenharmony_cipub const MSG_COMPAT: ::c_int = 0x8000; 8252add0d91Sopenharmony_ci 8262add0d91Sopenharmony_cipub const AF_UNSPEC: ::c_int = 0; 8272add0d91Sopenharmony_cipub const AF_LOCAL: ::c_int = 1; 8282add0d91Sopenharmony_cipub const AF_UNIX: ::c_int = AF_LOCAL; 8292add0d91Sopenharmony_cipub const AF_INET: ::c_int = 2; 8302add0d91Sopenharmony_cipub const AF_NETLINK: ::c_int = 16; 8312add0d91Sopenharmony_cipub const AF_ROUTE: ::c_int = 17; 8322add0d91Sopenharmony_cipub const AF_LINK: ::c_int = 18; 8332add0d91Sopenharmony_cipub const AF_PACKET: ::c_int = 19; 8342add0d91Sopenharmony_cipub const pseudo_AF_KEY: ::c_int = 27; 8352add0d91Sopenharmony_cipub const AF_KEY: ::c_int = pseudo_AF_KEY; 8362add0d91Sopenharmony_cipub const AF_INET6: ::c_int = 28; 8372add0d91Sopenharmony_cipub const AF_SOCKDEV: ::c_int = 31; 8382add0d91Sopenharmony_cipub const AF_TIPC: ::c_int = 33; 8392add0d91Sopenharmony_cipub const AF_MIPC: ::c_int = 34; 8402add0d91Sopenharmony_cipub const AF_MIPC_SAFE: ::c_int = 35; 8412add0d91Sopenharmony_cipub const AF_MAX: ::c_int = 37; 8422add0d91Sopenharmony_ci 8432add0d91Sopenharmony_cipub const SHUT_RD: ::c_int = 0; 8442add0d91Sopenharmony_cipub const SHUT_WR: ::c_int = 1; 8452add0d91Sopenharmony_cipub const SHUT_RDWR: ::c_int = 2; 8462add0d91Sopenharmony_ci 8472add0d91Sopenharmony_cipub const IPPROTO_TCP: ::c_int = 6; 8482add0d91Sopenharmony_cipub const TCP_NODELAY: ::c_int = 1; 8492add0d91Sopenharmony_cipub const TCP_MAXSEG: ::c_int = 2; 8502add0d91Sopenharmony_cipub const TCP_NOPUSH: ::c_int = 3; 8512add0d91Sopenharmony_cipub const TCP_KEEPIDLE: ::c_int = 4; 8522add0d91Sopenharmony_cipub const TCP_KEEPINTVL: ::c_int = 5; 8532add0d91Sopenharmony_cipub const TCP_KEEPCNT: ::c_int = 6; 8542add0d91Sopenharmony_ci 8552add0d91Sopenharmony_ci// ioLib.h 8562add0d91Sopenharmony_cipub const FIONREAD: ::c_int = 0x40040001; 8572add0d91Sopenharmony_cipub const FIOFLUSH: ::c_int = 2; 8582add0d91Sopenharmony_cipub const FIOOPTIONS: ::c_int = 3; 8592add0d91Sopenharmony_cipub const FIOBAUDRATE: ::c_int = 4; 8602add0d91Sopenharmony_cipub const FIODISKFORMAT: ::c_int = 5; 8612add0d91Sopenharmony_cipub const FIODISKINIT: ::c_int = 6; 8622add0d91Sopenharmony_cipub const FIOSEEK: ::c_int = 7; 8632add0d91Sopenharmony_cipub const FIOWHERE: ::c_int = 8; 8642add0d91Sopenharmony_cipub const FIODIRENTRY: ::c_int = 9; 8652add0d91Sopenharmony_cipub const FIORENAME: ::c_int = 10; 8662add0d91Sopenharmony_cipub const FIOREADYCHANGE: ::c_int = 11; 8672add0d91Sopenharmony_cipub const FIODISKCHANGE: ::c_int = 13; 8682add0d91Sopenharmony_cipub const FIOCANCEL: ::c_int = 14; 8692add0d91Sopenharmony_cipub const FIOSQUEEZE: ::c_int = 15; 8702add0d91Sopenharmony_cipub const FIOGETNAME: ::c_int = 18; 8712add0d91Sopenharmony_cipub const FIONBIO: ::c_int = 0x90040010; 8722add0d91Sopenharmony_ci 8732add0d91Sopenharmony_ci// limits.h 8742add0d91Sopenharmony_cipub const PATH_MAX: ::c_int = _PARM_PATH_MAX; 8752add0d91Sopenharmony_cipub const _POSIX_PATH_MAX: ::c_int = 256; 8762add0d91Sopenharmony_ci 8772add0d91Sopenharmony_ci// Some poll stuff 8782add0d91Sopenharmony_cipub const POLLIN: ::c_short = 0x0001; 8792add0d91Sopenharmony_cipub const POLLPRI: ::c_short = 0x0002; 8802add0d91Sopenharmony_cipub const POLLOUT: ::c_short = 0x0004; 8812add0d91Sopenharmony_cipub const POLLRDNORM: ::c_short = 0x0040; 8822add0d91Sopenharmony_cipub const POLLWRNORM: ::c_short = POLLOUT; 8832add0d91Sopenharmony_cipub const POLLRDBAND: ::c_short = 0x0080; 8842add0d91Sopenharmony_cipub const POLLWRBAND: ::c_short = 0x0100; 8852add0d91Sopenharmony_cipub const POLLERR: ::c_short = 0x0008; 8862add0d91Sopenharmony_cipub const POLLHUP: ::c_short = 0x0010; 8872add0d91Sopenharmony_cipub const POLLNVAL: ::c_short = 0x0020; 8882add0d91Sopenharmony_ci 8892add0d91Sopenharmony_ci// fnctlcom.h 8902add0d91Sopenharmony_cipub const FD_CLOEXEC: ::c_int = 1; 8912add0d91Sopenharmony_cipub const F_DUPFD: ::c_int = 0; 8922add0d91Sopenharmony_cipub const F_GETFD: ::c_int = 1; 8932add0d91Sopenharmony_cipub const F_SETFD: ::c_int = 2; 8942add0d91Sopenharmony_cipub const F_GETFL: ::c_int = 3; 8952add0d91Sopenharmony_cipub const F_SETFL: ::c_int = 4; 8962add0d91Sopenharmony_cipub const F_GETOWN: ::c_int = 5; 8972add0d91Sopenharmony_cipub const F_SETOWN: ::c_int = 6; 8982add0d91Sopenharmony_cipub const F_GETLK: ::c_int = 7; 8992add0d91Sopenharmony_cipub const F_SETLK: ::c_int = 8; 9002add0d91Sopenharmony_cipub const F_SETLKW: ::c_int = 9; 9012add0d91Sopenharmony_cipub const F_DUPFD_CLOEXEC: ::c_int = 14; 9022add0d91Sopenharmony_ci 9032add0d91Sopenharmony_ci// signal.h 9042add0d91Sopenharmony_cipub const SIG_DFL: sighandler_t = 0 as sighandler_t; 9052add0d91Sopenharmony_cipub const SIG_IGN: sighandler_t = 1 as sighandler_t; 9062add0d91Sopenharmony_cipub const SIG_ERR: sighandler_t = -1 as isize as sighandler_t; 9072add0d91Sopenharmony_ci 9082add0d91Sopenharmony_cipub const SIGHUP: ::c_int = 1; 9092add0d91Sopenharmony_cipub const SIGINT: ::c_int = 2; 9102add0d91Sopenharmony_cipub const SIGQUIT: ::c_int = 3; 9112add0d91Sopenharmony_cipub const SIGILL: ::c_int = 4; 9122add0d91Sopenharmony_cipub const SIGTRAP: ::c_int = 5; 9132add0d91Sopenharmony_cipub const SIGABRT: ::c_int = 6; 9142add0d91Sopenharmony_cipub const SIGEMT: ::c_int = 7; 9152add0d91Sopenharmony_cipub const SIGFPE: ::c_int = 8; 9162add0d91Sopenharmony_cipub const SIGKILL: ::c_int = 9; 9172add0d91Sopenharmony_cipub const SIGBUS: ::c_int = 10; 9182add0d91Sopenharmony_cipub const SIGSEGV: ::c_int = 11; 9192add0d91Sopenharmony_cipub const SIGFMT: ::c_int = 12; 9202add0d91Sopenharmony_cipub const SIGPIPE: ::c_int = 13; 9212add0d91Sopenharmony_cipub const SIGALRM: ::c_int = 14; 9222add0d91Sopenharmony_cipub const SIGTERM: ::c_int = 15; 9232add0d91Sopenharmony_cipub const SIGCNCL: ::c_int = 16; 9242add0d91Sopenharmony_cipub const SIGSTOP: ::c_int = 17; 9252add0d91Sopenharmony_cipub const SIGTSTP: ::c_int = 18; 9262add0d91Sopenharmony_cipub const SIGCONT: ::c_int = 19; 9272add0d91Sopenharmony_cipub const SIGCHLD: ::c_int = 20; 9282add0d91Sopenharmony_cipub const SIGTTIN: ::c_int = 21; 9292add0d91Sopenharmony_cipub const SIGTTOU: ::c_int = 22; 9302add0d91Sopenharmony_ci 9312add0d91Sopenharmony_cipub const SIG_BLOCK: ::c_int = 1; 9322add0d91Sopenharmony_cipub const SIG_UNBLOCK: ::c_int = 2; 9332add0d91Sopenharmony_cipub const SIG_SETMASK: ::c_int = 3; 9342add0d91Sopenharmony_ci 9352add0d91Sopenharmony_cipub const SI_SYNC: ::c_int = 0; 9362add0d91Sopenharmony_cipub const SI_USER: ::c_int = -1; 9372add0d91Sopenharmony_cipub const SI_QUEUE: ::c_int = -2; 9382add0d91Sopenharmony_cipub const SI_TIMER: ::c_int = -3; 9392add0d91Sopenharmony_cipub const SI_ASYNCIO: ::c_int = -4; 9402add0d91Sopenharmony_cipub const SI_MESGQ: ::c_int = -5; 9412add0d91Sopenharmony_cipub const SI_CHILD: ::c_int = -6; 9422add0d91Sopenharmony_cipub const SI_KILL: ::c_int = SI_USER; 9432add0d91Sopenharmony_ci 9442add0d91Sopenharmony_ci// vxParams.h definitions 9452add0d91Sopenharmony_cipub const _PARM_NAME_MAX: ::c_int = 255; 9462add0d91Sopenharmony_cipub const _PARM_PATH_MAX: ::c_int = 1024; 9472add0d91Sopenharmony_ci 9482add0d91Sopenharmony_ci// WAIT STUFF 9492add0d91Sopenharmony_cipub const WNOHANG: ::c_int = 0x01; 9502add0d91Sopenharmony_cipub const WUNTRACED: ::c_int = 0x02; 9512add0d91Sopenharmony_ci 9522add0d91Sopenharmony_ciconst PTHREAD_MUTEXATTR_INITIALIZER: pthread_mutexattr_t = pthread_mutexattr_t { 9532add0d91Sopenharmony_ci mutexAttrStatus: PTHREAD_INITIALIZED_OBJ, 9542add0d91Sopenharmony_ci mutexAttrProtocol: PTHREAD_PRIO_NONE, 9552add0d91Sopenharmony_ci mutexAttrPrioceiling: 0, 9562add0d91Sopenharmony_ci mutexAttrType: PTHREAD_MUTEX_DEFAULT, 9572add0d91Sopenharmony_ci mutexAttrPshared: 1, 9582add0d91Sopenharmony_ci}; 9592add0d91Sopenharmony_cipub const PTHREAD_MUTEX_INITIALIZER: pthread_mutex_t = pthread_mutex_t { 9602add0d91Sopenharmony_ci mutexSemId: null_mut(), 9612add0d91Sopenharmony_ci mutexValid: PTHREAD_VALID_OBJ, 9622add0d91Sopenharmony_ci mutexInitted: PTHREAD_UNUSED_YET_OBJ, 9632add0d91Sopenharmony_ci mutexCondRefCount: 0, 9642add0d91Sopenharmony_ci mutexSavPriority: -1, 9652add0d91Sopenharmony_ci mutexAttr: PTHREAD_MUTEXATTR_INITIALIZER, 9662add0d91Sopenharmony_ci mutexSemName: [0; _PTHREAD_SHARED_SEM_NAME_MAX], 9672add0d91Sopenharmony_ci}; 9682add0d91Sopenharmony_ci 9692add0d91Sopenharmony_ciconst PTHREAD_CONDATTR_INITIALIZER: pthread_condattr_t = pthread_condattr_t { 9702add0d91Sopenharmony_ci condAttrStatus: 0xf70990ef, 9712add0d91Sopenharmony_ci condAttrPshared: 1, 9722add0d91Sopenharmony_ci condAttrClockId: CLOCK_REALTIME, 9732add0d91Sopenharmony_ci}; 9742add0d91Sopenharmony_cipub const PTHREAD_COND_INITIALIZER: pthread_cond_t = pthread_cond_t { 9752add0d91Sopenharmony_ci condSemId: null_mut(), 9762add0d91Sopenharmony_ci condValid: PTHREAD_VALID_OBJ, 9772add0d91Sopenharmony_ci condInitted: PTHREAD_UNUSED_YET_OBJ, 9782add0d91Sopenharmony_ci condRefCount: 0, 9792add0d91Sopenharmony_ci condMutex: null_mut(), 9802add0d91Sopenharmony_ci condAttr: PTHREAD_CONDATTR_INITIALIZER, 9812add0d91Sopenharmony_ci condSemName: [0; _PTHREAD_SHARED_SEM_NAME_MAX], 9822add0d91Sopenharmony_ci}; 9832add0d91Sopenharmony_ci 9842add0d91Sopenharmony_ciconst PTHREAD_RWLOCKATTR_INITIALIZER: pthread_rwlockattr_t = pthread_rwlockattr_t { 9852add0d91Sopenharmony_ci rwlockAttrStatus: PTHREAD_INITIALIZED_OBJ, 9862add0d91Sopenharmony_ci rwlockAttrPshared: 1, 9872add0d91Sopenharmony_ci rwlockAttrMaxReaders: 0, 9882add0d91Sopenharmony_ci rwlockAttrConformOpt: 1, 9892add0d91Sopenharmony_ci}; 9902add0d91Sopenharmony_cipub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t { 9912add0d91Sopenharmony_ci rwlockSemId: null_mut(), 9922add0d91Sopenharmony_ci rwlockReadersRefCount: 0, 9932add0d91Sopenharmony_ci rwlockValid: PTHREAD_VALID_OBJ, 9942add0d91Sopenharmony_ci rwlockInitted: PTHREAD_UNUSED_YET_OBJ, 9952add0d91Sopenharmony_ci rwlockAttr: PTHREAD_RWLOCKATTR_INITIALIZER, 9962add0d91Sopenharmony_ci rwlockSemName: [0; _PTHREAD_SHARED_SEM_NAME_MAX], 9972add0d91Sopenharmony_ci}; 9982add0d91Sopenharmony_ci 9992add0d91Sopenharmony_cipub const SEEK_SET: ::c_int = 0; 10002add0d91Sopenharmony_cipub const SEEK_CUR: ::c_int = 1; 10012add0d91Sopenharmony_cipub const SEEK_END: ::c_int = 2; 10022add0d91Sopenharmony_ci 10032add0d91Sopenharmony_ci// rtpLibCommon.h 10042add0d91Sopenharmony_cipub const VX_RTP_NAME_LENGTH: ::c_int = 255; 10052add0d91Sopenharmony_cipub const RTP_ID_ERROR: ::RTP_ID = -1; 10062add0d91Sopenharmony_ci 10072add0d91Sopenharmony_ci// h/public/unistd.h 10082add0d91Sopenharmony_cipub const _SC_GETPW_R_SIZE_MAX: ::c_int = 21; // Via unistd.h 10092add0d91Sopenharmony_cipub const _SC_PAGESIZE: ::c_int = 39; 10102add0d91Sopenharmony_cipub const O_ACCMODE: ::c_int = 3; 10112add0d91Sopenharmony_cipub const O_CLOEXEC: ::c_int = 0x100000; // fcntlcom 10122add0d91Sopenharmony_cipub const O_EXCL: ::c_int = 0x0800; 10132add0d91Sopenharmony_cipub const O_CREAT: ::c_int = 0x0200; 10142add0d91Sopenharmony_cipub const O_TRUNC: ::c_int = 0x0400; 10152add0d91Sopenharmony_cipub const O_APPEND: ::c_int = 0x0008; 10162add0d91Sopenharmony_cipub const O_RDWR: ::c_int = 0x0002; 10172add0d91Sopenharmony_cipub const O_WRONLY: ::c_int = 0x0001; 10182add0d91Sopenharmony_cipub const O_RDONLY: ::c_int = 0; 10192add0d91Sopenharmony_cipub const O_NONBLOCK: ::c_int = 0x4000; 10202add0d91Sopenharmony_ci 10212add0d91Sopenharmony_ci#[cfg_attr(feature = "extra_traits", derive(Debug))] 10222add0d91Sopenharmony_cipub enum FILE {} 10232add0d91Sopenharmony_ciimpl ::Copy for FILE {} 10242add0d91Sopenharmony_ciimpl ::Clone for FILE { 10252add0d91Sopenharmony_ci fn clone(&self) -> FILE { 10262add0d91Sopenharmony_ci *self 10272add0d91Sopenharmony_ci } 10282add0d91Sopenharmony_ci} 10292add0d91Sopenharmony_ci#[cfg_attr(feature = "extra_traits", derive(Debug))] 10302add0d91Sopenharmony_cipub enum fpos_t {} // FIXME: fill this out with a struct 10312add0d91Sopenharmony_ciimpl ::Copy for fpos_t {} 10322add0d91Sopenharmony_ciimpl ::Clone for fpos_t { 10332add0d91Sopenharmony_ci fn clone(&self) -> fpos_t { 10342add0d91Sopenharmony_ci *self 10352add0d91Sopenharmony_ci } 10362add0d91Sopenharmony_ci} 10372add0d91Sopenharmony_ci 10382add0d91Sopenharmony_cif! { 10392add0d91Sopenharmony_ci pub {const} fn CMSG_ALIGN(len: usize) -> usize { 10402add0d91Sopenharmony_ci len + ::mem::size_of::<usize>() - 1 & !(::mem::size_of::<usize>() - 1) 10412add0d91Sopenharmony_ci } 10422add0d91Sopenharmony_ci 10432add0d91Sopenharmony_ci pub fn CMSG_NXTHDR(mhdr: *const msghdr, 10442add0d91Sopenharmony_ci cmsg: *const cmsghdr) -> *mut cmsghdr { 10452add0d91Sopenharmony_ci let next = cmsg as usize + CMSG_ALIGN((*cmsg).cmsg_len as usize) 10462add0d91Sopenharmony_ci + CMSG_ALIGN(::mem::size_of::<::cmsghdr>()); 10472add0d91Sopenharmony_ci let max = (*mhdr).msg_control as usize 10482add0d91Sopenharmony_ci + (*mhdr).msg_controllen as usize; 10492add0d91Sopenharmony_ci if next <= max { 10502add0d91Sopenharmony_ci (cmsg as usize + CMSG_ALIGN((*cmsg).cmsg_len as usize)) 10512add0d91Sopenharmony_ci as *mut ::cmsghdr 10522add0d91Sopenharmony_ci } else { 10532add0d91Sopenharmony_ci 0 as *mut ::cmsghdr 10542add0d91Sopenharmony_ci } 10552add0d91Sopenharmony_ci } 10562add0d91Sopenharmony_ci 10572add0d91Sopenharmony_ci pub fn CMSG_FIRSTHDR(mhdr: *const msghdr) -> *mut cmsghdr { 10582add0d91Sopenharmony_ci if (*mhdr).msg_controllen as usize > 0 { 10592add0d91Sopenharmony_ci (*mhdr).msg_control as *mut cmsghdr 10602add0d91Sopenharmony_ci } else { 10612add0d91Sopenharmony_ci 0 as *mut cmsghdr 10622add0d91Sopenharmony_ci } 10632add0d91Sopenharmony_ci } 10642add0d91Sopenharmony_ci 10652add0d91Sopenharmony_ci pub fn CMSG_DATA(cmsg: *const cmsghdr) -> *mut ::c_uchar { 10662add0d91Sopenharmony_ci (cmsg as *mut ::c_uchar) 10672add0d91Sopenharmony_ci .offset(CMSG_ALIGN(::mem::size_of::<::cmsghdr>()) as isize) 10682add0d91Sopenharmony_ci } 10692add0d91Sopenharmony_ci 10702add0d91Sopenharmony_ci pub {const} fn CMSG_SPACE(length: ::c_uint) -> ::c_uint { 10712add0d91Sopenharmony_ci (CMSG_ALIGN(length as usize) + CMSG_ALIGN(::mem::size_of::<cmsghdr>())) 10722add0d91Sopenharmony_ci as ::c_uint 10732add0d91Sopenharmony_ci } 10742add0d91Sopenharmony_ci 10752add0d91Sopenharmony_ci pub fn CMSG_LEN(length: ::c_uint) -> ::c_uint { 10762add0d91Sopenharmony_ci CMSG_ALIGN(::mem::size_of::<cmsghdr>()) as ::c_uint + length 10772add0d91Sopenharmony_ci } 10782add0d91Sopenharmony_ci} 10792add0d91Sopenharmony_ci 10802add0d91Sopenharmony_ciextern "C" { 10812add0d91Sopenharmony_ci pub fn isalnum(c: c_int) -> c_int; 10822add0d91Sopenharmony_ci pub fn isalpha(c: c_int) -> c_int; 10832add0d91Sopenharmony_ci pub fn iscntrl(c: c_int) -> c_int; 10842add0d91Sopenharmony_ci pub fn isdigit(c: c_int) -> c_int; 10852add0d91Sopenharmony_ci pub fn isgraph(c: c_int) -> c_int; 10862add0d91Sopenharmony_ci pub fn islower(c: c_int) -> c_int; 10872add0d91Sopenharmony_ci pub fn isprint(c: c_int) -> c_int; 10882add0d91Sopenharmony_ci pub fn ispunct(c: c_int) -> c_int; 10892add0d91Sopenharmony_ci pub fn isspace(c: c_int) -> c_int; 10902add0d91Sopenharmony_ci pub fn isupper(c: c_int) -> c_int; 10912add0d91Sopenharmony_ci pub fn isxdigit(c: c_int) -> c_int; 10922add0d91Sopenharmony_ci pub fn isblank(c: c_int) -> c_int; 10932add0d91Sopenharmony_ci pub fn tolower(c: c_int) -> c_int; 10942add0d91Sopenharmony_ci pub fn toupper(c: c_int) -> c_int; 10952add0d91Sopenharmony_ci pub fn fopen(filename: *const c_char, mode: *const c_char) -> *mut FILE; 10962add0d91Sopenharmony_ci pub fn freopen(filename: *const c_char, mode: *const c_char, file: *mut FILE) -> *mut FILE; 10972add0d91Sopenharmony_ci pub fn fflush(file: *mut FILE) -> c_int; 10982add0d91Sopenharmony_ci pub fn fclose(file: *mut FILE) -> c_int; 10992add0d91Sopenharmony_ci pub fn remove(filename: *const c_char) -> c_int; 11002add0d91Sopenharmony_ci pub fn rename(oldname: *const c_char, newname: *const c_char) -> c_int; 11012add0d91Sopenharmony_ci pub fn tmpfile() -> *mut FILE; 11022add0d91Sopenharmony_ci pub fn setvbuf(stream: *mut FILE, buffer: *mut c_char, mode: c_int, size: size_t) -> c_int; 11032add0d91Sopenharmony_ci pub fn setbuf(stream: *mut FILE, buf: *mut c_char); 11042add0d91Sopenharmony_ci pub fn getchar() -> c_int; 11052add0d91Sopenharmony_ci pub fn putchar(c: c_int) -> c_int; 11062add0d91Sopenharmony_ci pub fn fgetc(stream: *mut FILE) -> c_int; 11072add0d91Sopenharmony_ci pub fn fgets(buf: *mut c_char, n: c_int, stream: *mut FILE) -> *mut c_char; 11082add0d91Sopenharmony_ci pub fn fputc(c: c_int, stream: *mut FILE) -> c_int; 11092add0d91Sopenharmony_ci pub fn fputs(s: *const c_char, stream: *mut FILE) -> c_int; 11102add0d91Sopenharmony_ci pub fn puts(s: *const c_char) -> c_int; 11112add0d91Sopenharmony_ci pub fn ungetc(c: c_int, stream: *mut FILE) -> c_int; 11122add0d91Sopenharmony_ci pub fn fread(ptr: *mut c_void, size: size_t, nobj: size_t, stream: *mut FILE) -> size_t; 11132add0d91Sopenharmony_ci pub fn fwrite(ptr: *const c_void, size: size_t, nobj: size_t, stream: *mut FILE) -> size_t; 11142add0d91Sopenharmony_ci pub fn fseek(stream: *mut FILE, offset: c_long, whence: c_int) -> c_int; 11152add0d91Sopenharmony_ci pub fn ftell(stream: *mut FILE) -> c_long; 11162add0d91Sopenharmony_ci pub fn rewind(stream: *mut FILE); 11172add0d91Sopenharmony_ci pub fn fgetpos(stream: *mut FILE, ptr: *mut fpos_t) -> c_int; 11182add0d91Sopenharmony_ci pub fn fsetpos(stream: *mut FILE, ptr: *const fpos_t) -> c_int; 11192add0d91Sopenharmony_ci pub fn feof(stream: *mut FILE) -> c_int; 11202add0d91Sopenharmony_ci pub fn ferror(stream: *mut FILE) -> c_int; 11212add0d91Sopenharmony_ci pub fn perror(s: *const c_char); 11222add0d91Sopenharmony_ci pub fn atof(s: *const c_char) -> c_double; 11232add0d91Sopenharmony_ci pub fn atoi(s: *const c_char) -> c_int; 11242add0d91Sopenharmony_ci pub fn atol(s: *const c_char) -> c_long; 11252add0d91Sopenharmony_ci pub fn atoll(s: *const c_char) -> c_longlong; 11262add0d91Sopenharmony_ci pub fn strtod(s: *const c_char, endp: *mut *mut c_char) -> c_double; 11272add0d91Sopenharmony_ci pub fn strtof(s: *const c_char, endp: *mut *mut c_char) -> c_float; 11282add0d91Sopenharmony_ci pub fn strtol(s: *const c_char, endp: *mut *mut c_char, base: c_int) -> c_long; 11292add0d91Sopenharmony_ci pub fn strtoll(s: *const c_char, endp: *mut *mut c_char, base: c_int) -> c_longlong; 11302add0d91Sopenharmony_ci pub fn strtoul(s: *const c_char, endp: *mut *mut c_char, base: c_int) -> c_ulong; 11312add0d91Sopenharmony_ci pub fn strtoull(s: *const c_char, endp: *mut *mut c_char, base: c_int) -> c_ulonglong; 11322add0d91Sopenharmony_ci pub fn calloc(nobj: size_t, size: size_t) -> *mut c_void; 11332add0d91Sopenharmony_ci pub fn malloc(size: size_t) -> *mut c_void; 11342add0d91Sopenharmony_ci pub fn realloc(p: *mut c_void, size: size_t) -> *mut c_void; 11352add0d91Sopenharmony_ci pub fn free(p: *mut c_void); 11362add0d91Sopenharmony_ci pub fn abort() -> !; 11372add0d91Sopenharmony_ci pub fn exit(status: c_int) -> !; 11382add0d91Sopenharmony_ci pub fn atexit(cb: extern "C" fn()) -> c_int; 11392add0d91Sopenharmony_ci pub fn system(s: *const c_char) -> c_int; 11402add0d91Sopenharmony_ci pub fn getenv(s: *const c_char) -> *mut c_char; 11412add0d91Sopenharmony_ci 11422add0d91Sopenharmony_ci pub fn strcpy(dst: *mut c_char, src: *const c_char) -> *mut c_char; 11432add0d91Sopenharmony_ci pub fn strncpy(dst: *mut c_char, src: *const c_char, n: size_t) -> *mut c_char; 11442add0d91Sopenharmony_ci pub fn strcat(s: *mut c_char, ct: *const c_char) -> *mut c_char; 11452add0d91Sopenharmony_ci pub fn strncat(s: *mut c_char, ct: *const c_char, n: size_t) -> *mut c_char; 11462add0d91Sopenharmony_ci pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int; 11472add0d91Sopenharmony_ci pub fn strncmp(cs: *const c_char, ct: *const c_char, n: size_t) -> c_int; 11482add0d91Sopenharmony_ci pub fn strcoll(cs: *const c_char, ct: *const c_char) -> c_int; 11492add0d91Sopenharmony_ci pub fn strchr(cs: *const c_char, c: c_int) -> *mut c_char; 11502add0d91Sopenharmony_ci pub fn strrchr(cs: *const c_char, c: c_int) -> *mut c_char; 11512add0d91Sopenharmony_ci pub fn strspn(cs: *const c_char, ct: *const c_char) -> size_t; 11522add0d91Sopenharmony_ci pub fn strcspn(cs: *const c_char, ct: *const c_char) -> size_t; 11532add0d91Sopenharmony_ci pub fn strdup(cs: *const c_char) -> *mut c_char; 11542add0d91Sopenharmony_ci pub fn strpbrk(cs: *const c_char, ct: *const c_char) -> *mut c_char; 11552add0d91Sopenharmony_ci pub fn strstr(cs: *const c_char, ct: *const c_char) -> *mut c_char; 11562add0d91Sopenharmony_ci pub fn strcasecmp(s1: *const c_char, s2: *const c_char) -> c_int; 11572add0d91Sopenharmony_ci pub fn strncasecmp(s1: *const c_char, s2: *const c_char, n: size_t) -> c_int; 11582add0d91Sopenharmony_ci pub fn strlen(cs: *const c_char) -> size_t; 11592add0d91Sopenharmony_ci pub fn strerror(n: c_int) -> *mut c_char; 11602add0d91Sopenharmony_ci pub fn strtok(s: *mut c_char, t: *const c_char) -> *mut c_char; 11612add0d91Sopenharmony_ci pub fn strxfrm(s: *mut c_char, ct: *const c_char, n: size_t) -> size_t; 11622add0d91Sopenharmony_ci pub fn wcslen(buf: *const wchar_t) -> size_t; 11632add0d91Sopenharmony_ci pub fn wcstombs(dest: *mut c_char, src: *const wchar_t, n: size_t) -> ::size_t; 11642add0d91Sopenharmony_ci 11652add0d91Sopenharmony_ci pub fn memchr(cx: *const c_void, c: c_int, n: size_t) -> *mut c_void; 11662add0d91Sopenharmony_ci pub fn wmemchr(cx: *const wchar_t, c: wchar_t, n: size_t) -> *mut wchar_t; 11672add0d91Sopenharmony_ci pub fn memcmp(cx: *const c_void, ct: *const c_void, n: size_t) -> c_int; 11682add0d91Sopenharmony_ci pub fn memcpy(dest: *mut c_void, src: *const c_void, n: size_t) -> *mut c_void; 11692add0d91Sopenharmony_ci pub fn memmove(dest: *mut c_void, src: *const c_void, n: size_t) -> *mut c_void; 11702add0d91Sopenharmony_ci pub fn memset(dest: *mut c_void, c: c_int, n: size_t) -> *mut c_void; 11712add0d91Sopenharmony_ci} 11722add0d91Sopenharmony_ci 11732add0d91Sopenharmony_ciextern "C" { 11742add0d91Sopenharmony_ci pub fn fprintf(stream: *mut ::FILE, format: *const ::c_char, ...) -> ::c_int; 11752add0d91Sopenharmony_ci pub fn printf(format: *const ::c_char, ...) -> ::c_int; 11762add0d91Sopenharmony_ci pub fn snprintf(s: *mut ::c_char, n: ::size_t, format: *const ::c_char, ...) -> ::c_int; 11772add0d91Sopenharmony_ci pub fn sprintf(s: *mut ::c_char, format: *const ::c_char, ...) -> ::c_int; 11782add0d91Sopenharmony_ci pub fn fscanf(stream: *mut ::FILE, format: *const ::c_char, ...) -> ::c_int; 11792add0d91Sopenharmony_ci pub fn scanf(format: *const ::c_char, ...) -> ::c_int; 11802add0d91Sopenharmony_ci pub fn sscanf(s: *const ::c_char, format: *const ::c_char, ...) -> ::c_int; 11812add0d91Sopenharmony_ci pub fn getchar_unlocked() -> ::c_int; 11822add0d91Sopenharmony_ci pub fn putchar_unlocked(c: ::c_int) -> ::c_int; 11832add0d91Sopenharmony_ci pub fn stat(path: *const c_char, buf: *mut stat) -> ::c_int; 11842add0d91Sopenharmony_ci pub fn fdopen(fd: ::c_int, mode: *const c_char) -> *mut ::FILE; 11852add0d91Sopenharmony_ci pub fn fileno(stream: *mut ::FILE) -> ::c_int; 11862add0d91Sopenharmony_ci pub fn creat(path: *const c_char, mode: mode_t) -> ::c_int; 11872add0d91Sopenharmony_ci pub fn rewinddir(dirp: *mut ::DIR); 11882add0d91Sopenharmony_ci pub fn fchown(fd: ::c_int, owner: ::uid_t, group: ::gid_t) -> ::c_int; 11892add0d91Sopenharmony_ci pub fn access(path: *const c_char, amode: ::c_int) -> ::c_int; 11902add0d91Sopenharmony_ci pub fn alarm(seconds: ::c_uint) -> ::c_uint; 11912add0d91Sopenharmony_ci pub fn fchdir(dirfd: ::c_int) -> ::c_int; 11922add0d91Sopenharmony_ci pub fn chown(path: *const c_char, uid: uid_t, gid: gid_t) -> ::c_int; 11932add0d91Sopenharmony_ci pub fn fpathconf(filedes: ::c_int, name: ::c_int) -> c_long; 11942add0d91Sopenharmony_ci pub fn getegid() -> gid_t; 11952add0d91Sopenharmony_ci pub fn geteuid() -> uid_t; 11962add0d91Sopenharmony_ci pub fn getgroups(ngroups_max: ::c_int, groups: *mut gid_t) -> ::c_int; 11972add0d91Sopenharmony_ci pub fn getlogin() -> *mut c_char; 11982add0d91Sopenharmony_ci pub fn getopt(argc: ::c_int, argv: *const *mut c_char, optstr: *const c_char) -> ::c_int; 11992add0d91Sopenharmony_ci pub fn pathconf(path: *const c_char, name: ::c_int) -> c_long; 12002add0d91Sopenharmony_ci pub fn pause() -> ::c_int; 12012add0d91Sopenharmony_ci pub fn seteuid(uid: uid_t) -> ::c_int; 12022add0d91Sopenharmony_ci pub fn setegid(gid: gid_t) -> ::c_int; 12032add0d91Sopenharmony_ci pub fn sleep(secs: ::c_uint) -> ::c_uint; 12042add0d91Sopenharmony_ci pub fn ttyname(fd: ::c_int) -> *mut c_char; 12052add0d91Sopenharmony_ci pub fn wait(status: *mut ::c_int) -> pid_t; 12062add0d91Sopenharmony_ci pub fn umask(mask: mode_t) -> mode_t; 12072add0d91Sopenharmony_ci pub fn mlock(addr: *const ::c_void, len: ::size_t) -> ::c_int; 12082add0d91Sopenharmony_ci pub fn mlockall(flags: ::c_int) -> ::c_int; 12092add0d91Sopenharmony_ci pub fn munlockall() -> ::c_int; 12102add0d91Sopenharmony_ci 12112add0d91Sopenharmony_ci pub fn mmap( 12122add0d91Sopenharmony_ci addr: *mut ::c_void, 12132add0d91Sopenharmony_ci len: ::size_t, 12142add0d91Sopenharmony_ci prot: ::c_int, 12152add0d91Sopenharmony_ci flags: ::c_int, 12162add0d91Sopenharmony_ci fd: ::c_int, 12172add0d91Sopenharmony_ci offset: off_t, 12182add0d91Sopenharmony_ci ) -> *mut ::c_void; 12192add0d91Sopenharmony_ci pub fn munmap(addr: *mut ::c_void, len: ::size_t) -> ::c_int; 12202add0d91Sopenharmony_ci pub fn truncate(path: *const c_char, length: off_t) -> ::c_int; 12212add0d91Sopenharmony_ci 12222add0d91Sopenharmony_ci pub fn gettimeofday(tp: *mut ::timeval, tz: *mut ::c_void) -> ::c_int; 12232add0d91Sopenharmony_ci pub fn pthread_exit(value: *mut ::c_void) -> !; 12242add0d91Sopenharmony_ci pub fn pthread_attr_setdetachstate(attr: *mut ::pthread_attr_t, state: ::c_int) -> ::c_int; 12252add0d91Sopenharmony_ci 12262add0d91Sopenharmony_ci pub fn strerror_r(errnum: ::c_int, buf: *mut c_char, buflen: ::size_t) -> ::c_int; 12272add0d91Sopenharmony_ci 12282add0d91Sopenharmony_ci pub fn sigaddset(set: *mut sigset_t, signum: ::c_int) -> ::c_int; 12292add0d91Sopenharmony_ci 12302add0d91Sopenharmony_ci pub fn sigaction(signum: ::c_int, act: *const sigaction, oldact: *mut sigaction) -> ::c_int; 12312add0d91Sopenharmony_ci 12322add0d91Sopenharmony_ci pub fn utimes(filename: *const ::c_char, times: *const ::timeval) -> ::c_int; 12332add0d91Sopenharmony_ci 12342add0d91Sopenharmony_ci #[link_name = "_rtld_dlopen"] 12352add0d91Sopenharmony_ci pub fn dlopen(filename: *const ::c_char, flag: ::c_int) -> *mut ::c_void; 12362add0d91Sopenharmony_ci 12372add0d91Sopenharmony_ci #[link_name = "_rtld_dlerror"] 12382add0d91Sopenharmony_ci pub fn dlerror() -> *mut ::c_char; 12392add0d91Sopenharmony_ci 12402add0d91Sopenharmony_ci #[link_name = "_rtld_dlsym"] 12412add0d91Sopenharmony_ci pub fn dlsym(handle: *mut ::c_void, symbol: *const ::c_char) -> *mut ::c_void; 12422add0d91Sopenharmony_ci 12432add0d91Sopenharmony_ci #[link_name = "_rtld_dlclose"] 12442add0d91Sopenharmony_ci pub fn dlclose(handle: *mut ::c_void) -> ::c_int; 12452add0d91Sopenharmony_ci 12462add0d91Sopenharmony_ci #[link_name = "_rtld_dladdr"] 12472add0d91Sopenharmony_ci pub fn dladdr(addr: *mut ::c_void, info: *mut Dl_info) -> ::c_int; 12482add0d91Sopenharmony_ci 12492add0d91Sopenharmony_ci // time.h 12502add0d91Sopenharmony_ci pub fn gmtime_r(time_p: *const time_t, result: *mut tm) -> *mut tm; 12512add0d91Sopenharmony_ci pub fn localtime_r(time_p: *const time_t, result: *mut tm) -> *mut tm; 12522add0d91Sopenharmony_ci pub fn mktime(tm: *mut tm) -> time_t; 12532add0d91Sopenharmony_ci pub fn time(time: *mut time_t) -> time_t; 12542add0d91Sopenharmony_ci pub fn gmtime(time_p: *const time_t) -> *mut tm; 12552add0d91Sopenharmony_ci pub fn localtime(time_p: *const time_t) -> *mut tm; 12562add0d91Sopenharmony_ci pub fn timegm(tm: *mut tm) -> time_t; 12572add0d91Sopenharmony_ci pub fn difftime(time1: time_t, time0: time_t) -> ::c_double; 12582add0d91Sopenharmony_ci pub fn gethostname(name: *mut ::c_char, len: ::size_t) -> ::c_int; 12592add0d91Sopenharmony_ci pub fn usleep(secs: ::useconds_t) -> ::c_int; 12602add0d91Sopenharmony_ci pub fn putenv(string: *mut c_char) -> ::c_int; 12612add0d91Sopenharmony_ci pub fn setlocale(category: ::c_int, locale: *const ::c_char) -> *mut ::c_char; 12622add0d91Sopenharmony_ci 12632add0d91Sopenharmony_ci pub fn sigprocmask(how: ::c_int, set: *const sigset_t, oldset: *mut sigset_t) -> ::c_int; 12642add0d91Sopenharmony_ci pub fn sigpending(set: *mut sigset_t) -> ::c_int; 12652add0d91Sopenharmony_ci 12662add0d91Sopenharmony_ci pub fn mkfifo(path: *const c_char, mode: mode_t) -> ::c_int; 12672add0d91Sopenharmony_ci 12682add0d91Sopenharmony_ci pub fn fseeko(stream: *mut ::FILE, offset: ::off_t, whence: ::c_int) -> ::c_int; 12692add0d91Sopenharmony_ci pub fn ftello(stream: *mut ::FILE) -> ::off_t; 12702add0d91Sopenharmony_ci pub fn mkstemp(template: *mut ::c_char) -> ::c_int; 12712add0d91Sopenharmony_ci 12722add0d91Sopenharmony_ci pub fn tmpnam(ptr: *mut ::c_char) -> *mut ::c_char; 12732add0d91Sopenharmony_ci 12742add0d91Sopenharmony_ci pub fn openlog(ident: *const ::c_char, logopt: ::c_int, facility: ::c_int); 12752add0d91Sopenharmony_ci pub fn closelog(); 12762add0d91Sopenharmony_ci pub fn setlogmask(maskpri: ::c_int) -> ::c_int; 12772add0d91Sopenharmony_ci pub fn syslog(priority: ::c_int, message: *const ::c_char, ...); 12782add0d91Sopenharmony_ci pub fn getline(lineptr: *mut *mut c_char, n: *mut size_t, stream: *mut FILE) -> ssize_t; 12792add0d91Sopenharmony_ci 12802add0d91Sopenharmony_ci} 12812add0d91Sopenharmony_ci 12822add0d91Sopenharmony_ciextern "C" { 12832add0d91Sopenharmony_ci // stdlib.h 12842add0d91Sopenharmony_ci pub fn memalign(block_size: ::size_t, size_arg: ::size_t) -> *mut ::c_void; 12852add0d91Sopenharmony_ci 12862add0d91Sopenharmony_ci // ioLib.h 12872add0d91Sopenharmony_ci pub fn getcwd(buf: *mut ::c_char, size: ::size_t) -> *mut ::c_char; 12882add0d91Sopenharmony_ci 12892add0d91Sopenharmony_ci // ioLib.h 12902add0d91Sopenharmony_ci pub fn chdir(attr: *const ::c_char) -> ::c_int; 12912add0d91Sopenharmony_ci 12922add0d91Sopenharmony_ci // pthread.h 12932add0d91Sopenharmony_ci pub fn pthread_mutexattr_init(attr: *mut pthread_mutexattr_t) -> ::c_int; 12942add0d91Sopenharmony_ci 12952add0d91Sopenharmony_ci // pthread.h 12962add0d91Sopenharmony_ci pub fn pthread_mutexattr_destroy(attr: *mut pthread_mutexattr_t) -> ::c_int; 12972add0d91Sopenharmony_ci 12982add0d91Sopenharmony_ci // pthread.h 12992add0d91Sopenharmony_ci pub fn pthread_mutexattr_settype(pAttr: *mut ::pthread_mutexattr_t, pType: ::c_int) -> ::c_int; 13002add0d91Sopenharmony_ci 13012add0d91Sopenharmony_ci // pthread.h 13022add0d91Sopenharmony_ci pub fn pthread_mutex_init( 13032add0d91Sopenharmony_ci mutex: *mut pthread_mutex_t, 13042add0d91Sopenharmony_ci attr: *const pthread_mutexattr_t, 13052add0d91Sopenharmony_ci ) -> ::c_int; 13062add0d91Sopenharmony_ci 13072add0d91Sopenharmony_ci // pthread.h 13082add0d91Sopenharmony_ci pub fn pthread_mutex_destroy(mutex: *mut pthread_mutex_t) -> ::c_int; 13092add0d91Sopenharmony_ci 13102add0d91Sopenharmony_ci // pthread.h 13112add0d91Sopenharmony_ci pub fn pthread_mutex_lock(mutex: *mut pthread_mutex_t) -> ::c_int; 13122add0d91Sopenharmony_ci 13132add0d91Sopenharmony_ci // pthread.h 13142add0d91Sopenharmony_ci pub fn pthread_mutex_trylock(mutex: *mut pthread_mutex_t) -> ::c_int; 13152add0d91Sopenharmony_ci 13162add0d91Sopenharmony_ci // pthread.h 13172add0d91Sopenharmony_ci pub fn pthread_mutex_timedlock(attr: *mut pthread_mutex_t, spec: *const timespec) -> ::c_int; 13182add0d91Sopenharmony_ci 13192add0d91Sopenharmony_ci // pthread.h 13202add0d91Sopenharmony_ci pub fn pthread_mutex_unlock(mutex: *mut pthread_mutex_t) -> ::c_int; 13212add0d91Sopenharmony_ci 13222add0d91Sopenharmony_ci // pthread.h 13232add0d91Sopenharmony_ci pub fn pthread_attr_setname(pAttr: *mut ::pthread_attr_t, name: *mut ::c_char) -> ::c_int; 13242add0d91Sopenharmony_ci 13252add0d91Sopenharmony_ci // pthread.h 13262add0d91Sopenharmony_ci pub fn pthread_attr_setstacksize(attr: *mut ::pthread_attr_t, stacksize: ::size_t) -> ::c_int; 13272add0d91Sopenharmony_ci 13282add0d91Sopenharmony_ci // pthread.h 13292add0d91Sopenharmony_ci pub fn pthread_attr_getstacksize(attr: *const ::pthread_attr_t, size: *mut ::size_t) 13302add0d91Sopenharmony_ci -> ::c_int; 13312add0d91Sopenharmony_ci 13322add0d91Sopenharmony_ci // pthread.h 13332add0d91Sopenharmony_ci pub fn pthread_attr_init(attr: *mut ::pthread_attr_t) -> ::c_int; 13342add0d91Sopenharmony_ci 13352add0d91Sopenharmony_ci // pthread.h 13362add0d91Sopenharmony_ci pub fn pthread_create( 13372add0d91Sopenharmony_ci pThread: *mut ::pthread_t, 13382add0d91Sopenharmony_ci pAttr: *const ::pthread_attr_t, 13392add0d91Sopenharmony_ci start_routine: extern "C" fn(*mut ::c_void) -> *mut ::c_void, 13402add0d91Sopenharmony_ci value: *mut ::c_void, 13412add0d91Sopenharmony_ci ) -> ::c_int; 13422add0d91Sopenharmony_ci 13432add0d91Sopenharmony_ci // pthread.h 13442add0d91Sopenharmony_ci pub fn pthread_attr_destroy(thread: *mut ::pthread_attr_t) -> ::c_int; 13452add0d91Sopenharmony_ci 13462add0d91Sopenharmony_ci // pthread.h 13472add0d91Sopenharmony_ci pub fn pthread_detach(thread: ::pthread_t) -> ::c_int; 13482add0d91Sopenharmony_ci 13492add0d91Sopenharmony_ci // int pthread_atfork (void (*)(void), void (*)(void), void (*)(void)); 13502add0d91Sopenharmony_ci pub fn pthread_atfork( 13512add0d91Sopenharmony_ci prepare: ::Option<unsafe extern "C" fn()>, 13522add0d91Sopenharmony_ci parent: ::Option<unsafe extern "C" fn()>, 13532add0d91Sopenharmony_ci child: ::Option<unsafe extern "C" fn()>, 13542add0d91Sopenharmony_ci ) -> ::c_int; 13552add0d91Sopenharmony_ci // stat.h 13562add0d91Sopenharmony_ci pub fn fstat(fildes: ::c_int, buf: *mut stat) -> ::c_int; 13572add0d91Sopenharmony_ci 13582add0d91Sopenharmony_ci // stat.h 13592add0d91Sopenharmony_ci pub fn lstat(path: *const ::c_char, buf: *mut stat) -> ::c_int; 13602add0d91Sopenharmony_ci 13612add0d91Sopenharmony_ci // unistd.h 13622add0d91Sopenharmony_ci pub fn ftruncate(fd: ::c_int, length: off_t) -> ::c_int; 13632add0d91Sopenharmony_ci 13642add0d91Sopenharmony_ci // dirent.h 13652add0d91Sopenharmony_ci pub fn readdir_r(pDir: *mut ::DIR, entry: *mut ::dirent, result: *mut *mut ::dirent) 13662add0d91Sopenharmony_ci -> ::c_int; 13672add0d91Sopenharmony_ci 13682add0d91Sopenharmony_ci // dirent.h 13692add0d91Sopenharmony_ci pub fn readdir(pDir: *mut ::DIR) -> *mut ::dirent; 13702add0d91Sopenharmony_ci 13712add0d91Sopenharmony_ci // fcntl.h or 13722add0d91Sopenharmony_ci // ioLib.h 13732add0d91Sopenharmony_ci pub fn open(path: *const ::c_char, oflag: ::c_int, ...) -> ::c_int; 13742add0d91Sopenharmony_ci 13752add0d91Sopenharmony_ci // poll.h 13762add0d91Sopenharmony_ci pub fn poll(fds: *mut pollfd, nfds: nfds_t, timeout: ::c_int) -> ::c_int; 13772add0d91Sopenharmony_ci 13782add0d91Sopenharmony_ci // pthread.h 13792add0d91Sopenharmony_ci pub fn pthread_condattr_init(attr: *mut ::pthread_condattr_t) -> ::c_int; 13802add0d91Sopenharmony_ci 13812add0d91Sopenharmony_ci // pthread.h 13822add0d91Sopenharmony_ci pub fn pthread_condattr_destroy(attr: *mut ::pthread_condattr_t) -> ::c_int; 13832add0d91Sopenharmony_ci 13842add0d91Sopenharmony_ci // pthread.h 13852add0d91Sopenharmony_ci pub fn pthread_condattr_getclock( 13862add0d91Sopenharmony_ci pAttr: *const ::pthread_condattr_t, 13872add0d91Sopenharmony_ci pClockId: *mut ::clockid_t, 13882add0d91Sopenharmony_ci ) -> ::c_int; 13892add0d91Sopenharmony_ci 13902add0d91Sopenharmony_ci // pthread.h 13912add0d91Sopenharmony_ci pub fn pthread_condattr_setclock( 13922add0d91Sopenharmony_ci pAttr: *mut ::pthread_condattr_t, 13932add0d91Sopenharmony_ci clockId: ::clockid_t, 13942add0d91Sopenharmony_ci ) -> ::c_int; 13952add0d91Sopenharmony_ci 13962add0d91Sopenharmony_ci // pthread.h 13972add0d91Sopenharmony_ci pub fn pthread_cond_init( 13982add0d91Sopenharmony_ci cond: *mut ::pthread_cond_t, 13992add0d91Sopenharmony_ci attr: *const ::pthread_condattr_t, 14002add0d91Sopenharmony_ci ) -> ::c_int; 14012add0d91Sopenharmony_ci 14022add0d91Sopenharmony_ci // pthread.h 14032add0d91Sopenharmony_ci pub fn pthread_cond_destroy(cond: *mut pthread_cond_t) -> ::c_int; 14042add0d91Sopenharmony_ci 14052add0d91Sopenharmony_ci // pthread.h 14062add0d91Sopenharmony_ci pub fn pthread_cond_signal(cond: *mut ::pthread_cond_t) -> ::c_int; 14072add0d91Sopenharmony_ci 14082add0d91Sopenharmony_ci // pthread.h 14092add0d91Sopenharmony_ci pub fn pthread_cond_broadcast(cond: *mut ::pthread_cond_t) -> ::c_int; 14102add0d91Sopenharmony_ci 14112add0d91Sopenharmony_ci // pthread.h 14122add0d91Sopenharmony_ci pub fn pthread_cond_wait(cond: *mut ::pthread_cond_t, mutex: *mut ::pthread_mutex_t) 14132add0d91Sopenharmony_ci -> ::c_int; 14142add0d91Sopenharmony_ci 14152add0d91Sopenharmony_ci // pthread.h 14162add0d91Sopenharmony_ci pub fn pthread_rwlockattr_init(attr: *mut ::pthread_rwlockattr_t) -> ::c_int; 14172add0d91Sopenharmony_ci 14182add0d91Sopenharmony_ci // pthread.h 14192add0d91Sopenharmony_ci pub fn pthread_rwlockattr_destroy(attr: *mut ::pthread_rwlockattr_t) -> ::c_int; 14202add0d91Sopenharmony_ci 14212add0d91Sopenharmony_ci // pthread.h 14222add0d91Sopenharmony_ci pub fn pthread_rwlockattr_setmaxreaders( 14232add0d91Sopenharmony_ci attr: *mut ::pthread_rwlockattr_t, 14242add0d91Sopenharmony_ci attr2: ::c_uint, 14252add0d91Sopenharmony_ci ) -> ::c_int; 14262add0d91Sopenharmony_ci 14272add0d91Sopenharmony_ci // pthread.h 14282add0d91Sopenharmony_ci pub fn pthread_rwlock_init( 14292add0d91Sopenharmony_ci attr: *mut ::pthread_rwlock_t, 14302add0d91Sopenharmony_ci host: *const ::pthread_rwlockattr_t, 14312add0d91Sopenharmony_ci ) -> ::c_int; 14322add0d91Sopenharmony_ci 14332add0d91Sopenharmony_ci // pthread.h 14342add0d91Sopenharmony_ci pub fn pthread_rwlock_destroy(attr: *mut ::pthread_rwlock_t) -> ::c_int; 14352add0d91Sopenharmony_ci 14362add0d91Sopenharmony_ci // pthread.h 14372add0d91Sopenharmony_ci pub fn pthread_rwlock_rdlock(attr: *mut ::pthread_rwlock_t) -> ::c_int; 14382add0d91Sopenharmony_ci 14392add0d91Sopenharmony_ci // pthread.h 14402add0d91Sopenharmony_ci pub fn pthread_rwlock_tryrdlock(attr: *mut ::pthread_rwlock_t) -> ::c_int; 14412add0d91Sopenharmony_ci 14422add0d91Sopenharmony_ci // pthread.h 14432add0d91Sopenharmony_ci pub fn pthread_rwlock_timedrdlock( 14442add0d91Sopenharmony_ci attr: *mut ::pthread_rwlock_t, 14452add0d91Sopenharmony_ci host: *const ::timespec, 14462add0d91Sopenharmony_ci ) -> ::c_int; 14472add0d91Sopenharmony_ci 14482add0d91Sopenharmony_ci // pthread.h 14492add0d91Sopenharmony_ci pub fn pthread_rwlock_wrlock(attr: *mut ::pthread_rwlock_t) -> ::c_int; 14502add0d91Sopenharmony_ci 14512add0d91Sopenharmony_ci // pthread.h 14522add0d91Sopenharmony_ci pub fn pthread_rwlock_trywrlock(attr: *mut ::pthread_rwlock_t) -> ::c_int; 14532add0d91Sopenharmony_ci 14542add0d91Sopenharmony_ci // pthread.h 14552add0d91Sopenharmony_ci pub fn pthread_rwlock_timedwrlock( 14562add0d91Sopenharmony_ci attr: *mut ::pthread_rwlock_t, 14572add0d91Sopenharmony_ci host: *const ::timespec, 14582add0d91Sopenharmony_ci ) -> ::c_int; 14592add0d91Sopenharmony_ci 14602add0d91Sopenharmony_ci // pthread.h 14612add0d91Sopenharmony_ci pub fn pthread_rwlock_unlock(attr: *mut ::pthread_rwlock_t) -> ::c_int; 14622add0d91Sopenharmony_ci 14632add0d91Sopenharmony_ci // pthread.h 14642add0d91Sopenharmony_ci pub fn pthread_key_create( 14652add0d91Sopenharmony_ci key: *mut ::pthread_key_t, 14662add0d91Sopenharmony_ci dtor: ::Option<unsafe extern "C" fn(*mut ::c_void)>, 14672add0d91Sopenharmony_ci ) -> ::c_int; 14682add0d91Sopenharmony_ci 14692add0d91Sopenharmony_ci // pthread.h 14702add0d91Sopenharmony_ci pub fn pthread_key_delete(key: ::pthread_key_t) -> ::c_int; 14712add0d91Sopenharmony_ci 14722add0d91Sopenharmony_ci // pthread.h 14732add0d91Sopenharmony_ci pub fn pthread_setspecific(key: ::pthread_key_t, value: *const ::c_void) -> ::c_int; 14742add0d91Sopenharmony_ci 14752add0d91Sopenharmony_ci // pthread.h 14762add0d91Sopenharmony_ci pub fn pthread_getspecific(key: ::pthread_key_t) -> *mut ::c_void; 14772add0d91Sopenharmony_ci 14782add0d91Sopenharmony_ci // pthread.h 14792add0d91Sopenharmony_ci pub fn pthread_cond_timedwait( 14802add0d91Sopenharmony_ci cond: *mut ::pthread_cond_t, 14812add0d91Sopenharmony_ci mutex: *mut ::pthread_mutex_t, 14822add0d91Sopenharmony_ci abstime: *const ::timespec, 14832add0d91Sopenharmony_ci ) -> ::c_int; 14842add0d91Sopenharmony_ci 14852add0d91Sopenharmony_ci // pthread.h 14862add0d91Sopenharmony_ci pub fn pthread_attr_getname(attr: *mut ::pthread_attr_t, name: *mut *mut ::c_char) -> ::c_int; 14872add0d91Sopenharmony_ci 14882add0d91Sopenharmony_ci // pthread.h 14892add0d91Sopenharmony_ci pub fn pthread_join(thread: ::pthread_t, status: *mut *mut ::c_void) -> ::c_int; 14902add0d91Sopenharmony_ci 14912add0d91Sopenharmony_ci // pthread.h 14922add0d91Sopenharmony_ci pub fn pthread_self() -> ::pthread_t; 14932add0d91Sopenharmony_ci 14942add0d91Sopenharmony_ci // clockLib.h 14952add0d91Sopenharmony_ci pub fn clock_gettime(clock_id: ::clockid_t, tp: *mut ::timespec) -> ::c_int; 14962add0d91Sopenharmony_ci 14972add0d91Sopenharmony_ci // clockLib.h 14982add0d91Sopenharmony_ci pub fn clock_settime(clock_id: ::clockid_t, tp: *const ::timespec) -> ::c_int; 14992add0d91Sopenharmony_ci 15002add0d91Sopenharmony_ci // clockLib.h 15012add0d91Sopenharmony_ci pub fn clock_getres(clock_id: ::clockid_t, res: *mut ::timespec) -> ::c_int; 15022add0d91Sopenharmony_ci 15032add0d91Sopenharmony_ci // clockLib.h 15042add0d91Sopenharmony_ci pub fn clock_nanosleep( 15052add0d91Sopenharmony_ci clock_id: ::clockid_t, 15062add0d91Sopenharmony_ci flags: ::c_int, 15072add0d91Sopenharmony_ci rqtp: *const ::timespec, 15082add0d91Sopenharmony_ci rmtp: *mut ::timespec, 15092add0d91Sopenharmony_ci ) -> ::c_int; 15102add0d91Sopenharmony_ci 15112add0d91Sopenharmony_ci // timerLib.h 15122add0d91Sopenharmony_ci pub fn nanosleep(rqtp: *const ::timespec, rmtp: *mut ::timespec) -> ::c_int; 15132add0d91Sopenharmony_ci 15142add0d91Sopenharmony_ci // socket.h 15152add0d91Sopenharmony_ci pub fn accept(s: ::c_int, addr: *mut ::sockaddr, addrlen: *mut ::socklen_t) -> ::c_int; 15162add0d91Sopenharmony_ci 15172add0d91Sopenharmony_ci // socket.h 15182add0d91Sopenharmony_ci pub fn bind(fd: ::c_int, addr: *const sockaddr, len: socklen_t) -> ::c_int; 15192add0d91Sopenharmony_ci 15202add0d91Sopenharmony_ci // socket.h 15212add0d91Sopenharmony_ci pub fn connect(s: ::c_int, name: *const ::sockaddr, namelen: ::socklen_t) -> ::c_int; 15222add0d91Sopenharmony_ci 15232add0d91Sopenharmony_ci // socket.h 15242add0d91Sopenharmony_ci pub fn getpeername(s: ::c_int, name: *mut ::sockaddr, namelen: *mut ::socklen_t) -> ::c_int; 15252add0d91Sopenharmony_ci 15262add0d91Sopenharmony_ci // socket.h 15272add0d91Sopenharmony_ci pub fn getsockname( 15282add0d91Sopenharmony_ci socket: ::c_int, 15292add0d91Sopenharmony_ci address: *mut sockaddr, 15302add0d91Sopenharmony_ci address_len: *mut socklen_t, 15312add0d91Sopenharmony_ci ) -> ::c_int; 15322add0d91Sopenharmony_ci 15332add0d91Sopenharmony_ci // socket.h 15342add0d91Sopenharmony_ci pub fn getsockopt( 15352add0d91Sopenharmony_ci sockfd: ::c_int, 15362add0d91Sopenharmony_ci level: ::c_int, 15372add0d91Sopenharmony_ci optname: ::c_int, 15382add0d91Sopenharmony_ci optval: *mut ::c_void, 15392add0d91Sopenharmony_ci optlen: *mut ::socklen_t, 15402add0d91Sopenharmony_ci ) -> ::c_int; 15412add0d91Sopenharmony_ci 15422add0d91Sopenharmony_ci // socket.h 15432add0d91Sopenharmony_ci pub fn listen(socket: ::c_int, backlog: ::c_int) -> ::c_int; 15442add0d91Sopenharmony_ci 15452add0d91Sopenharmony_ci // socket.h 15462add0d91Sopenharmony_ci pub fn recv(s: ::c_int, buf: *mut ::c_void, bufLen: ::size_t, flags: ::c_int) -> ::ssize_t; 15472add0d91Sopenharmony_ci 15482add0d91Sopenharmony_ci // socket.h 15492add0d91Sopenharmony_ci pub fn recvfrom( 15502add0d91Sopenharmony_ci s: ::c_int, 15512add0d91Sopenharmony_ci buf: *mut ::c_void, 15522add0d91Sopenharmony_ci bufLen: ::size_t, 15532add0d91Sopenharmony_ci flags: ::c_int, 15542add0d91Sopenharmony_ci from: *mut ::sockaddr, 15552add0d91Sopenharmony_ci pFromLen: *mut ::socklen_t, 15562add0d91Sopenharmony_ci ) -> ::ssize_t; 15572add0d91Sopenharmony_ci 15582add0d91Sopenharmony_ci pub fn recvmsg(socket: ::c_int, mp: *mut ::msghdr, flags: ::c_int) -> ::ssize_t; 15592add0d91Sopenharmony_ci 15602add0d91Sopenharmony_ci // socket.h 15612add0d91Sopenharmony_ci pub fn send(socket: ::c_int, buf: *const ::c_void, len: ::size_t, flags: ::c_int) -> ::ssize_t; 15622add0d91Sopenharmony_ci 15632add0d91Sopenharmony_ci pub fn sendmsg(socket: ::c_int, mp: *const ::msghdr, flags: ::c_int) -> ::ssize_t; 15642add0d91Sopenharmony_ci 15652add0d91Sopenharmony_ci // socket.h 15662add0d91Sopenharmony_ci pub fn sendto( 15672add0d91Sopenharmony_ci socket: ::c_int, 15682add0d91Sopenharmony_ci buf: *const ::c_void, 15692add0d91Sopenharmony_ci len: ::size_t, 15702add0d91Sopenharmony_ci flags: ::c_int, 15712add0d91Sopenharmony_ci addr: *const sockaddr, 15722add0d91Sopenharmony_ci addrlen: socklen_t, 15732add0d91Sopenharmony_ci ) -> ::ssize_t; 15742add0d91Sopenharmony_ci 15752add0d91Sopenharmony_ci // socket.h 15762add0d91Sopenharmony_ci pub fn setsockopt( 15772add0d91Sopenharmony_ci socket: ::c_int, 15782add0d91Sopenharmony_ci level: ::c_int, 15792add0d91Sopenharmony_ci name: ::c_int, 15802add0d91Sopenharmony_ci value: *const ::c_void, 15812add0d91Sopenharmony_ci option_len: socklen_t, 15822add0d91Sopenharmony_ci ) -> ::c_int; 15832add0d91Sopenharmony_ci 15842add0d91Sopenharmony_ci // socket.h 15852add0d91Sopenharmony_ci pub fn shutdown(s: ::c_int, how: ::c_int) -> ::c_int; 15862add0d91Sopenharmony_ci 15872add0d91Sopenharmony_ci // socket.h 15882add0d91Sopenharmony_ci pub fn socket(domain: ::c_int, _type: ::c_int, protocol: ::c_int) -> ::c_int; 15892add0d91Sopenharmony_ci 15902add0d91Sopenharmony_ci // icotl.h 15912add0d91Sopenharmony_ci pub fn ioctl(fd: ::c_int, request: ::c_int, ...) -> ::c_int; 15922add0d91Sopenharmony_ci 15932add0d91Sopenharmony_ci // fcntl.h 15942add0d91Sopenharmony_ci pub fn fcntl(fd: ::c_int, cmd: ::c_int, ...) -> ::c_int; 15952add0d91Sopenharmony_ci 15962add0d91Sopenharmony_ci // ntp_rfc2553.h for kernel 15972add0d91Sopenharmony_ci // netdb.h for user 15982add0d91Sopenharmony_ci pub fn gai_strerror(errcode: ::c_int) -> *mut ::c_char; 15992add0d91Sopenharmony_ci 16002add0d91Sopenharmony_ci // ioLib.h or 16012add0d91Sopenharmony_ci // unistd.h 16022add0d91Sopenharmony_ci pub fn close(fd: ::c_int) -> ::c_int; 16032add0d91Sopenharmony_ci 16042add0d91Sopenharmony_ci // ioLib.h or 16052add0d91Sopenharmony_ci // unistd.h 16062add0d91Sopenharmony_ci pub fn read(fd: ::c_int, buf: *mut ::c_void, count: ::size_t) -> ::ssize_t; 16072add0d91Sopenharmony_ci 16082add0d91Sopenharmony_ci // ioLib.h or 16092add0d91Sopenharmony_ci // unistd.h 16102add0d91Sopenharmony_ci pub fn write(fd: ::c_int, buf: *const ::c_void, count: ::size_t) -> ::ssize_t; 16112add0d91Sopenharmony_ci 16122add0d91Sopenharmony_ci // ioLib.h or 16132add0d91Sopenharmony_ci // unistd.h 16142add0d91Sopenharmony_ci pub fn isatty(fd: ::c_int) -> ::c_int; 16152add0d91Sopenharmony_ci 16162add0d91Sopenharmony_ci // ioLib.h or 16172add0d91Sopenharmony_ci // unistd.h 16182add0d91Sopenharmony_ci pub fn dup(src: ::c_int) -> ::c_int; 16192add0d91Sopenharmony_ci 16202add0d91Sopenharmony_ci // ioLib.h or 16212add0d91Sopenharmony_ci // unistd.h 16222add0d91Sopenharmony_ci pub fn dup2(src: ::c_int, dst: ::c_int) -> ::c_int; 16232add0d91Sopenharmony_ci 16242add0d91Sopenharmony_ci // ioLib.h or 16252add0d91Sopenharmony_ci // unistd.h 16262add0d91Sopenharmony_ci pub fn pipe(fds: *mut ::c_int) -> ::c_int; 16272add0d91Sopenharmony_ci 16282add0d91Sopenharmony_ci // ioLib.h or 16292add0d91Sopenharmony_ci // unistd.h 16302add0d91Sopenharmony_ci pub fn unlink(pathname: *const ::c_char) -> ::c_int; 16312add0d91Sopenharmony_ci 16322add0d91Sopenharmony_ci // unistd.h and 16332add0d91Sopenharmony_ci // ioLib.h 16342add0d91Sopenharmony_ci pub fn lseek(fd: ::c_int, offset: off_t, whence: ::c_int) -> off_t; 16352add0d91Sopenharmony_ci 16362add0d91Sopenharmony_ci // netdb.h 16372add0d91Sopenharmony_ci pub fn getaddrinfo( 16382add0d91Sopenharmony_ci node: *const ::c_char, 16392add0d91Sopenharmony_ci service: *const ::c_char, 16402add0d91Sopenharmony_ci hints: *const addrinfo, 16412add0d91Sopenharmony_ci res: *mut *mut addrinfo, 16422add0d91Sopenharmony_ci ) -> ::c_int; 16432add0d91Sopenharmony_ci 16442add0d91Sopenharmony_ci // netdb.h 16452add0d91Sopenharmony_ci pub fn freeaddrinfo(res: *mut addrinfo); 16462add0d91Sopenharmony_ci 16472add0d91Sopenharmony_ci // signal.h 16482add0d91Sopenharmony_ci pub fn signal(signum: ::c_int, handler: sighandler_t) -> sighandler_t; 16492add0d91Sopenharmony_ci 16502add0d91Sopenharmony_ci // unistd.h 16512add0d91Sopenharmony_ci pub fn getpid() -> pid_t; 16522add0d91Sopenharmony_ci 16532add0d91Sopenharmony_ci // unistd.h 16542add0d91Sopenharmony_ci pub fn getppid() -> pid_t; 16552add0d91Sopenharmony_ci 16562add0d91Sopenharmony_ci // wait.h 16572add0d91Sopenharmony_ci pub fn waitpid(pid: pid_t, status: *mut ::c_int, optons: ::c_int) -> pid_t; 16582add0d91Sopenharmony_ci 16592add0d91Sopenharmony_ci // unistd.h 16602add0d91Sopenharmony_ci pub fn sysconf(attr: ::c_int) -> ::c_long; 16612add0d91Sopenharmony_ci 16622add0d91Sopenharmony_ci // stdlib.h 16632add0d91Sopenharmony_ci pub fn setenv( 16642add0d91Sopenharmony_ci // setenv.c 16652add0d91Sopenharmony_ci envVarName: *const ::c_char, 16662add0d91Sopenharmony_ci envVarValue: *const ::c_char, 16672add0d91Sopenharmony_ci overwrite: ::c_int, 16682add0d91Sopenharmony_ci ) -> ::c_int; 16692add0d91Sopenharmony_ci 16702add0d91Sopenharmony_ci // stdlib.h 16712add0d91Sopenharmony_ci pub fn unsetenv( 16722add0d91Sopenharmony_ci // setenv.c 16732add0d91Sopenharmony_ci envVarName: *const ::c_char, 16742add0d91Sopenharmony_ci ) -> ::c_int; 16752add0d91Sopenharmony_ci 16762add0d91Sopenharmony_ci // stdlib.h 16772add0d91Sopenharmony_ci pub fn realpath(fileName: *const ::c_char, resolvedName: *mut ::c_char) -> *mut ::c_char; 16782add0d91Sopenharmony_ci 16792add0d91Sopenharmony_ci // unistd.h 16802add0d91Sopenharmony_ci pub fn link(src: *const ::c_char, dst: *const ::c_char) -> ::c_int; 16812add0d91Sopenharmony_ci 16822add0d91Sopenharmony_ci // unistd.h 16832add0d91Sopenharmony_ci pub fn readlink(path: *const ::c_char, buf: *mut ::c_char, bufsize: ::size_t) -> ::ssize_t; 16842add0d91Sopenharmony_ci 16852add0d91Sopenharmony_ci // unistd.h 16862add0d91Sopenharmony_ci pub fn symlink(path1: *const ::c_char, path2: *const ::c_char) -> ::c_int; 16872add0d91Sopenharmony_ci 16882add0d91Sopenharmony_ci // dirent.h 16892add0d91Sopenharmony_ci pub fn opendir(name: *const ::c_char) -> *mut ::DIR; 16902add0d91Sopenharmony_ci 16912add0d91Sopenharmony_ci // unistd.h 16922add0d91Sopenharmony_ci pub fn rmdir(path: *const ::c_char) -> ::c_int; 16932add0d91Sopenharmony_ci 16942add0d91Sopenharmony_ci // stat.h 16952add0d91Sopenharmony_ci pub fn mkdir(dirName: *const ::c_char, mode: ::mode_t) -> ::c_int; 16962add0d91Sopenharmony_ci 16972add0d91Sopenharmony_ci // stat.h 16982add0d91Sopenharmony_ci pub fn chmod(path: *const ::c_char, mode: ::mode_t) -> ::c_int; 16992add0d91Sopenharmony_ci 17002add0d91Sopenharmony_ci // stat.h 17012add0d91Sopenharmony_ci pub fn fchmod(attr1: ::c_int, attr2: ::mode_t) -> ::c_int; 17022add0d91Sopenharmony_ci 17032add0d91Sopenharmony_ci // unistd.h 17042add0d91Sopenharmony_ci pub fn fsync(fd: ::c_int) -> ::c_int; 17052add0d91Sopenharmony_ci 17062add0d91Sopenharmony_ci // dirent.h 17072add0d91Sopenharmony_ci pub fn closedir(ptr: *mut ::DIR) -> ::c_int; 17082add0d91Sopenharmony_ci 17092add0d91Sopenharmony_ci // sched.h 17102add0d91Sopenharmony_ci pub fn sched_yield() -> ::c_int; 17112add0d91Sopenharmony_ci 17122add0d91Sopenharmony_ci // errnoLib.h 17132add0d91Sopenharmony_ci pub fn errnoSet(err: ::c_int) -> ::c_int; 17142add0d91Sopenharmony_ci 17152add0d91Sopenharmony_ci // errnoLib.h 17162add0d91Sopenharmony_ci pub fn errnoGet() -> ::c_int; 17172add0d91Sopenharmony_ci 17182add0d91Sopenharmony_ci // unistd.h 17192add0d91Sopenharmony_ci pub fn _exit(status: ::c_int) -> !; 17202add0d91Sopenharmony_ci 17212add0d91Sopenharmony_ci // unistd.h 17222add0d91Sopenharmony_ci pub fn setgid(gid: ::gid_t) -> ::c_int; 17232add0d91Sopenharmony_ci 17242add0d91Sopenharmony_ci // unistd.h 17252add0d91Sopenharmony_ci pub fn getgid() -> ::gid_t; 17262add0d91Sopenharmony_ci 17272add0d91Sopenharmony_ci // unistd.h 17282add0d91Sopenharmony_ci pub fn setuid(uid: ::uid_t) -> ::c_int; 17292add0d91Sopenharmony_ci 17302add0d91Sopenharmony_ci // unistd.h 17312add0d91Sopenharmony_ci pub fn getuid() -> ::uid_t; 17322add0d91Sopenharmony_ci 17332add0d91Sopenharmony_ci // signal.h 17342add0d91Sopenharmony_ci pub fn sigemptyset(__set: *mut sigset_t) -> ::c_int; 17352add0d91Sopenharmony_ci 17362add0d91Sopenharmony_ci // pthread.h for kernel 17372add0d91Sopenharmony_ci // signal.h for user 17382add0d91Sopenharmony_ci pub fn pthread_sigmask( 17392add0d91Sopenharmony_ci __how: ::c_int, 17402add0d91Sopenharmony_ci __set: *const sigset_t, 17412add0d91Sopenharmony_ci __oset: *mut sigset_t, 17422add0d91Sopenharmony_ci ) -> ::c_int; 17432add0d91Sopenharmony_ci 17442add0d91Sopenharmony_ci // signal.h for user 17452add0d91Sopenharmony_ci pub fn kill(__pid: pid_t, __signo: ::c_int) -> ::c_int; 17462add0d91Sopenharmony_ci 17472add0d91Sopenharmony_ci // signal.h for user 17482add0d91Sopenharmony_ci pub fn sigqueue(__pid: pid_t, __signo: ::c_int, __value: ::sigval) -> ::c_int; 17492add0d91Sopenharmony_ci 17502add0d91Sopenharmony_ci // signal.h for user 17512add0d91Sopenharmony_ci pub fn _sigqueue( 17522add0d91Sopenharmony_ci rtpId: ::RTP_ID, 17532add0d91Sopenharmony_ci signo: ::c_int, 17542add0d91Sopenharmony_ci pValue: *const ::sigval, 17552add0d91Sopenharmony_ci sigCode: ::c_int, 17562add0d91Sopenharmony_ci ) -> ::c_int; 17572add0d91Sopenharmony_ci 17582add0d91Sopenharmony_ci // signal.h 17592add0d91Sopenharmony_ci pub fn taskKill(taskId: ::TASK_ID, signo: ::c_int) -> ::c_int; 17602add0d91Sopenharmony_ci 17612add0d91Sopenharmony_ci // signal.h 17622add0d91Sopenharmony_ci pub fn raise(__signo: ::c_int) -> ::c_int; 17632add0d91Sopenharmony_ci 17642add0d91Sopenharmony_ci // taskLibCommon.h 17652add0d91Sopenharmony_ci pub fn taskIdSelf() -> ::TASK_ID; 17662add0d91Sopenharmony_ci pub fn taskDelay(ticks: ::_Vx_ticks_t) -> ::c_int; 17672add0d91Sopenharmony_ci 17682add0d91Sopenharmony_ci // rtpLibCommon.h 17692add0d91Sopenharmony_ci pub fn rtpInfoGet(rtpId: ::RTP_ID, rtpStruct: *mut ::RTP_DESC) -> ::c_int; 17702add0d91Sopenharmony_ci pub fn rtpSpawn( 17712add0d91Sopenharmony_ci pubrtpFileName: *const ::c_char, 17722add0d91Sopenharmony_ci argv: *mut *const ::c_char, 17732add0d91Sopenharmony_ci envp: *mut *const ::c_char, 17742add0d91Sopenharmony_ci priority: ::c_int, 17752add0d91Sopenharmony_ci uStackSize: ::size_t, 17762add0d91Sopenharmony_ci options: ::c_int, 17772add0d91Sopenharmony_ci taskOptions: ::c_int, 17782add0d91Sopenharmony_ci ) -> RTP_ID; 17792add0d91Sopenharmony_ci 17802add0d91Sopenharmony_ci // ioLib.h 17812add0d91Sopenharmony_ci pub fn _realpath(fileName: *const ::c_char, resolvedName: *mut ::c_char) -> *mut ::c_char; 17822add0d91Sopenharmony_ci 17832add0d91Sopenharmony_ci // pathLib.h 17842add0d91Sopenharmony_ci pub fn _pathIsAbsolute(filepath: *const ::c_char, pNameTail: *mut *const ::c_char) -> BOOL; 17852add0d91Sopenharmony_ci 17862add0d91Sopenharmony_ci pub fn writev(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t; 17872add0d91Sopenharmony_ci pub fn readv(fd: ::c_int, iov: *const ::iovec, iovcnt: ::c_int) -> ::ssize_t; 17882add0d91Sopenharmony_ci 17892add0d91Sopenharmony_ci // randomNumGen.h 17902add0d91Sopenharmony_ci pub fn randBytes(buf: *mut c_uchar, length: c_int) -> c_int; 17912add0d91Sopenharmony_ci pub fn randABytes(buf: *mut c_uchar, length: c_int) -> c_int; 17922add0d91Sopenharmony_ci pub fn randUBytes(buf: *mut c_uchar, length: c_int) -> c_int; 17932add0d91Sopenharmony_ci pub fn randSecure() -> c_int; 17942add0d91Sopenharmony_ci 17952add0d91Sopenharmony_ci // mqueue.h 17962add0d91Sopenharmony_ci pub fn mq_open(name: *const ::c_char, oflag: ::c_int, ...) -> ::mqd_t; 17972add0d91Sopenharmony_ci pub fn mq_close(mqd: ::mqd_t) -> ::c_int; 17982add0d91Sopenharmony_ci pub fn mq_unlink(name: *const ::c_char) -> ::c_int; 17992add0d91Sopenharmony_ci pub fn mq_receive( 18002add0d91Sopenharmony_ci mqd: ::mqd_t, 18012add0d91Sopenharmony_ci msg_ptr: *mut ::c_char, 18022add0d91Sopenharmony_ci msg_len: ::size_t, 18032add0d91Sopenharmony_ci msg_prio: *mut ::c_uint, 18042add0d91Sopenharmony_ci ) -> ::ssize_t; 18052add0d91Sopenharmony_ci pub fn mq_timedreceive( 18062add0d91Sopenharmony_ci mqd: ::mqd_t, 18072add0d91Sopenharmony_ci msg_ptr: *mut ::c_char, 18082add0d91Sopenharmony_ci msg_len: ::size_t, 18092add0d91Sopenharmony_ci msg_prio: *mut ::c_uint, 18102add0d91Sopenharmony_ci abs_timeout: *const ::timespec, 18112add0d91Sopenharmony_ci ) -> ::ssize_t; 18122add0d91Sopenharmony_ci pub fn mq_send( 18132add0d91Sopenharmony_ci mqd: ::mqd_t, 18142add0d91Sopenharmony_ci msg_ptr: *const ::c_char, 18152add0d91Sopenharmony_ci msg_len: ::size_t, 18162add0d91Sopenharmony_ci msg_prio: ::c_uint, 18172add0d91Sopenharmony_ci ) -> ::c_int; 18182add0d91Sopenharmony_ci pub fn mq_timedsend( 18192add0d91Sopenharmony_ci mqd: ::mqd_t, 18202add0d91Sopenharmony_ci msg_ptr: *const ::c_char, 18212add0d91Sopenharmony_ci msg_len: ::size_t, 18222add0d91Sopenharmony_ci msg_prio: ::c_uint, 18232add0d91Sopenharmony_ci abs_timeout: *const ::timespec, 18242add0d91Sopenharmony_ci ) -> ::c_int; 18252add0d91Sopenharmony_ci pub fn mq_getattr(mqd: ::mqd_t, attr: *mut ::mq_attr) -> ::c_int; 18262add0d91Sopenharmony_ci pub fn mq_setattr(mqd: ::mqd_t, newattr: *const ::mq_attr, oldattr: *mut ::mq_attr) -> ::c_int; 18272add0d91Sopenharmony_ci} 18282add0d91Sopenharmony_ci 18292add0d91Sopenharmony_ci//Dummy functions, these don't really exist in VxWorks. 18302add0d91Sopenharmony_ci 18312add0d91Sopenharmony_ci// wait.h macros 18322add0d91Sopenharmony_cisafe_f! { 18332add0d91Sopenharmony_ci pub {const} fn WIFEXITED(status: ::c_int) -> bool { 18342add0d91Sopenharmony_ci (status & 0xFF00) == 0 18352add0d91Sopenharmony_ci } 18362add0d91Sopenharmony_ci pub {const} fn WIFSIGNALED(status: ::c_int) -> bool { 18372add0d91Sopenharmony_ci (status & 0xFF00) != 0 18382add0d91Sopenharmony_ci } 18392add0d91Sopenharmony_ci pub {const} fn WIFSTOPPED(status: ::c_int) -> bool { 18402add0d91Sopenharmony_ci (status & 0xFF0000) != 0 18412add0d91Sopenharmony_ci } 18422add0d91Sopenharmony_ci pub {const} fn WEXITSTATUS(status: ::c_int) -> ::c_int { 18432add0d91Sopenharmony_ci status & 0xFF 18442add0d91Sopenharmony_ci } 18452add0d91Sopenharmony_ci pub {const} fn WTERMSIG(status: ::c_int) -> ::c_int { 18462add0d91Sopenharmony_ci (status >> 8) & 0xFF 18472add0d91Sopenharmony_ci } 18482add0d91Sopenharmony_ci pub {const} fn WSTOPSIG(status: ::c_int) -> ::c_int { 18492add0d91Sopenharmony_ci (status >> 16) & 0xFF 18502add0d91Sopenharmony_ci } 18512add0d91Sopenharmony_ci} 18522add0d91Sopenharmony_ci 18532add0d91Sopenharmony_cipub fn pread(_fd: ::c_int, _buf: *mut ::c_void, _count: ::size_t, _offset: off64_t) -> ::ssize_t { 18542add0d91Sopenharmony_ci -1 18552add0d91Sopenharmony_ci} 18562add0d91Sopenharmony_ci 18572add0d91Sopenharmony_cipub fn pwrite( 18582add0d91Sopenharmony_ci _fd: ::c_int, 18592add0d91Sopenharmony_ci _buf: *const ::c_void, 18602add0d91Sopenharmony_ci _count: ::size_t, 18612add0d91Sopenharmony_ci _offset: off64_t, 18622add0d91Sopenharmony_ci) -> ::ssize_t { 18632add0d91Sopenharmony_ci -1 18642add0d91Sopenharmony_ci} 18652add0d91Sopenharmony_cipub fn posix_memalign(memptr: *mut *mut ::c_void, align: ::size_t, size: ::size_t) -> ::c_int { 18662add0d91Sopenharmony_ci // check to see if align is a power of 2 and if align is a multiple 18672add0d91Sopenharmony_ci // of sizeof(void *) 18682add0d91Sopenharmony_ci if (align & align - 1 != 0) || (align as usize % size_of::<::size_t>() != 0) { 18692add0d91Sopenharmony_ci return ::EINVAL; 18702add0d91Sopenharmony_ci } 18712add0d91Sopenharmony_ci 18722add0d91Sopenharmony_ci unsafe { 18732add0d91Sopenharmony_ci // posix_memalign should not set errno 18742add0d91Sopenharmony_ci let e = ::errnoGet(); 18752add0d91Sopenharmony_ci 18762add0d91Sopenharmony_ci let temp = memalign(align, size); 18772add0d91Sopenharmony_ci ::errnoSet(e as ::c_int); 18782add0d91Sopenharmony_ci 18792add0d91Sopenharmony_ci if temp.is_null() { 18802add0d91Sopenharmony_ci ::ENOMEM 18812add0d91Sopenharmony_ci } else { 18822add0d91Sopenharmony_ci *memptr = temp; 18832add0d91Sopenharmony_ci 0 18842add0d91Sopenharmony_ci } 18852add0d91Sopenharmony_ci } 18862add0d91Sopenharmony_ci} 18872add0d91Sopenharmony_ci 18882add0d91Sopenharmony_cicfg_if! { 18892add0d91Sopenharmony_ci if #[cfg(libc_core_cvoid)] { 18902add0d91Sopenharmony_ci pub use ::ffi::c_void; 18912add0d91Sopenharmony_ci } else { 18922add0d91Sopenharmony_ci // Use repr(u8) as LLVM expects `void*` to be the same as `i8*` to help 18932add0d91Sopenharmony_ci // enable more optimization opportunities around it recognizing things 18942add0d91Sopenharmony_ci // like malloc/free. 18952add0d91Sopenharmony_ci #[repr(u8)] 18962add0d91Sopenharmony_ci #[allow(missing_copy_implementations)] 18972add0d91Sopenharmony_ci #[allow(missing_debug_implementations)] 18982add0d91Sopenharmony_ci pub enum c_void { 18992add0d91Sopenharmony_ci // Two dummy variants so the #[repr] attribute can be used. 19002add0d91Sopenharmony_ci #[doc(hidden)] 19012add0d91Sopenharmony_ci __variant1, 19022add0d91Sopenharmony_ci #[doc(hidden)] 19032add0d91Sopenharmony_ci __variant2, 19042add0d91Sopenharmony_ci } 19052add0d91Sopenharmony_ci } 19062add0d91Sopenharmony_ci} 19072add0d91Sopenharmony_ci 19082add0d91Sopenharmony_cicfg_if! { 19092add0d91Sopenharmony_ci if #[cfg(target_arch = "aarch64")] { 19102add0d91Sopenharmony_ci mod aarch64; 19112add0d91Sopenharmony_ci pub use self::aarch64::*; 19122add0d91Sopenharmony_ci } else if #[cfg(any(target_arch = "arm"))] { 19132add0d91Sopenharmony_ci mod arm; 19142add0d91Sopenharmony_ci pub use self::arm::*; 19152add0d91Sopenharmony_ci } else if #[cfg(any(target_arch = "x86"))] { 19162add0d91Sopenharmony_ci mod x86; 19172add0d91Sopenharmony_ci pub use self::x86::*; 19182add0d91Sopenharmony_ci } else if #[cfg(any(target_arch = "x86_64"))] { 19192add0d91Sopenharmony_ci mod x86_64; 19202add0d91Sopenharmony_ci pub use self::x86_64::*; 19212add0d91Sopenharmony_ci } else if #[cfg(any(target_arch = "powerpc"))] { 19222add0d91Sopenharmony_ci mod powerpc; 19232add0d91Sopenharmony_ci pub use self::powerpc::*; 19242add0d91Sopenharmony_ci } else if #[cfg(any(target_arch = "powerpc64"))] { 19252add0d91Sopenharmony_ci mod powerpc64; 19262add0d91Sopenharmony_ci pub use self::powerpc64::*; 19272add0d91Sopenharmony_ci } else { 19282add0d91Sopenharmony_ci // Unknown target_arch 19292add0d91Sopenharmony_ci } 19302add0d91Sopenharmony_ci} 1931