1
- From 1c11650435d49430ddc9838ae0e59a8bcdad8243 Mon Sep 17 00:00:00 2001
1
+ From 698a2f63c0fde81a3c2aec2c2de0e7ccfe0f3bd8 Mon Sep 17 00:00:00 2001
2
2
From: Andy-Python-Programmer <
[email protected] >
3
- Date: Fri, 3 Mar 2023 16:39:55 +1100
3
+ Date: Fri, 3 Mar 2023 18:52:53 +1100
4
4
Subject: [PATCH] <xxx>
5
5
6
6
---
7
7
.../linux_like/linux/gnu/b64/x86_64/mod.rs | 4 +-
8
8
src/unix/linux_like/linux/gnu/mod.rs | 4 +-
9
9
src/unix/linux_like/linux/mod.rs | 28 +-
10
- src/unix/mlibc/mod.rs | 460 ++++++++++++++++--
11
- 4 files changed, 442 insertions(+), 54 deletions(-)
10
+ src/unix/mlibc/mod.rs | 499 ++++++++++++++++--
11
+ 4 files changed, 481 insertions(+), 54 deletions(-)
12
12
13
13
diff --git a/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs b/src/unix/linux_like/linux/gnu/b64/x86_64/mod.rs
14
14
index e6307e2..cae81c4 100644
@@ -185,7 +185,7 @@ index be12190..c8762d5 100644
185
185
.field("ifr_name", &self.ifr_name)
186
186
.field("ifr_ifru", &self.ifr_ifru)
187
187
diff --git a/src/unix/mlibc/mod.rs b/src/unix/mlibc/mod.rs
188
- index 2046530..0d74760 100644
188
+ index 2046530..b479ed2 100644
189
189
--- a/src/unix/mlibc/mod.rs
190
190
+++ b/src/unix/mlibc/mod.rs
191
191
@@ -47,7 +47,6 @@ pub type fsfilcnt_t = ::c_uint;
@@ -287,7 +287,7 @@ index 2046530..0d74760 100644
287
287
}
288
288
pub struct pthread_rwlock_t {
289
289
pub __mlibc_m: ::c_uint,
290
- @@ -319,10 +348,73 @@ s! {
290
+ @@ -319,10 +348,111 @@ s! {
291
291
pub struct fd_set {
292
292
pub fds_bits: [c_char; 128],
293
293
}
@@ -333,6 +333,44 @@ index 2046530..0d74760 100644
333
333
+ pub l_start: ::off_t,
334
334
+ pub l_len: ::off_t,
335
335
+ pub l_pid: ::pid_t,
336
+ + }
337
+ + }
338
+ +
339
+ + s_no_extra_traits! {
340
+ + // options/posix/include/net/if.h
341
+ + #[cfg(libc_union)]
342
+ + pub union __c_anonymous_ifr_ifru {
343
+ + pub ifru_addr: ::sockaddr,
344
+ + pub ifru_dstaddr: ::sockaddr,
345
+ + pub ifru_broadaddr: ::sockaddr,
346
+ + pub ifru_netmask: ::sockaddr,
347
+ + pub ifru_hwaddr: ::sockaddr,
348
+ + pub ifru_flags: ::c_short,
349
+ + pub ifru_ifindex: ::c_int,
350
+ + pub ifru_metric: ::c_int,
351
+ + pub ifru_mtu: ::c_int,
352
+ + pub ifru_map: __c_anonymous_ifru_map,
353
+ + pub ifru_slave: [::c_char; ::IFNAMSIZ],
354
+ + pub ifru_newname: [::c_char; ::IFNAMSIZ],
355
+ + pub ifru_data: *mut ::c_char,
356
+ + }
357
+ +
358
+ + pub struct __c_anonymous_ifru_map {
359
+ + pub mem_start: ::c_ulong,
360
+ + pub mem_end: ::c_ulong,
361
+ + pub base_addr: ::c_ushort,
362
+ + pub irq: ::c_uchar,
363
+ + pub dma: ::c_uchar,
364
+ + pub port: ::c_uchar,
365
+ + }
366
+ +
367
+ + pub struct ifreq {
368
+ + /// if name, e.g. "en0"
369
+ + pub ifr_name: [::c_char; ::IFNAMSIZ],
370
+ + #[cfg(libc_union)]
371
+ + pub ifr_ifru: __c_anonymous_ifr_ifru,
372
+ + #[cfg(not(libc_union))]
373
+ + pub ifr_ifru: ::sockaddr,
336
374
+ }
337
375
}
338
376
@@ -361,7 +399,7 @@ index 2046530..0d74760 100644
361
399
pub {const} fn WCOREDUMP(x: ::c_int) -> bool {
362
400
x & WCOREFLAG != 0
363
401
}
364
- @@ -349,6 +441 ,104 @@ safe_f! {
402
+ @@ -349,6 +479 ,104 @@ safe_f! {
365
403
}
366
404
}
367
405
@@ -466,7 +504,7 @@ index 2046530..0d74760 100644
466
504
// abis/mlibc/vm-flags.h
467
505
pub const MAP_ANON: ::c_int = 8;
468
506
pub const MAP_PRIVATE: ::c_int = 1;
469
- @@ -356,11 +546 ,24 @@ pub const MAP_SHARED: ::c_int = 2;
507
+ @@ -356,11 +584 ,24 @@ pub const MAP_SHARED: ::c_int = 2;
470
508
pub const PROT_EXEC: ::c_int = 4;
471
509
pub const PROT_READ: ::c_int = 1;
472
510
pub const PROT_WRITE: ::c_int = 2;
@@ -491,7 +529,7 @@ index 2046530..0d74760 100644
491
529
492
530
// options/ansi/include/time.h
493
531
pub const CLOCK_MONOTONIC: clockid_t = 1;
494
- @@ -369,33 +572 ,49 @@ pub const CLOCK_REALTIME: clockid_t = 0;
532
+ @@ -369,33 +610 ,49 @@ pub const CLOCK_REALTIME: clockid_t = 0;
495
533
// options/posix/include/netdb.h
496
534
pub const EAI_SYSTEM: ::c_int = 9;
497
535
@@ -563,7 +601,7 @@ index 2046530..0d74760 100644
563
601
564
602
// abis/linux/signal.h
565
603
pub const SIGABRT: ::c_int = 6;
566
- @@ -436,45 +655 ,121 @@ pub const SIGSYS: ::c_int = 31;
604
+ @@ -436,45 +693 ,121 @@ pub const SIGSYS: ::c_int = 31;
567
605
pub const SIGUNUSED: ::c_int = SIGSYS;
568
606
pub const SIGCANCEL: ::c_int = 32;
569
607
@@ -686,7 +724,7 @@ index 2046530..0d74760 100644
686
724
pub const SOCK_STREAM: ::c_int = 4;
687
725
pub const SOL_SOCKET: ::c_int = 1;
688
726
pub const SO_ACCEPTCONN: ::c_int = 1;
689
- @@ -494,6 +789 ,8 @@ pub const SO_SNDLOWAT: ::c_int = 14;
727
+ @@ -494,6 +827 ,8 @@ pub const SO_SNDLOWAT: ::c_int = 14;
690
728
pub const SO_SNDTIMEO: ::c_int = 15;
691
729
pub const SO_TYPE: ::c_int = 16;
692
730
pub const SO_SNDBUFFORCE: ::c_int = 17;
@@ -695,7 +733,7 @@ index 2046530..0d74760 100644
695
733
pub const SO_PEERCRED: ::c_int = 18;
696
734
pub const SO_ATTACH_FILTER: ::c_int = 19;
697
735
pub const SO_PASSCRED: ::c_int = 20;
698
- @@ -503,6 +800 ,12 @@ pub const SO_PROTOCOL: ::c_int = 23;
736
+ @@ -503,6 +838 ,12 @@ pub const SO_PROTOCOL: ::c_int = 23;
699
737
pub const SO_REUSEPORT: ::c_int = 24;
700
738
pub const SO_TIMESTAMP: ::c_int = 25;
701
739
@@ -708,7 +746,7 @@ index 2046530..0d74760 100644
708
746
// abis/mlibc/errno.h
709
747
pub const EDOM: ::c_int = 1;
710
748
pub const EILSEQ: ::c_int = 2;
711
- @@ -592,15 +895 ,24 @@ pub const ENOTBLK: ::c_int = 1083;
749
+ @@ -592,15 +933 ,24 @@ pub const ENOTBLK: ::c_int = 1083;
712
750
713
751
// options/posix/include/fcntl.h
714
752
pub const AT_FDCWD: ::c_int = -100;
@@ -734,7 +772,7 @@ index 2046530..0d74760 100644
734
772
pub const F_GETOWN: ::c_int = 10;
735
773
pub const F_SETOWN: ::c_int = 11;
736
774
pub const O_ACCMODE: ::c_int = 7;
737
- @@ -644,23 +956,54 @@ pub const S_IXGRP: mode_t = 0o10;
775
+ @@ -644,23 +994,55 @@ pub const S_IXGRP: mode_t = 0o10;
738
776
pub const S_IXOTH: mode_t = 0o1;
739
777
pub const S_IXUSR: mode_t = 0o100;
740
778
@@ -786,11 +824,12 @@ index 2046530..0d74760 100644
786
824
+ pub const PATH_MAX: ::size_t = 4096;
787
825
+
788
826
+ // abis/linux/ioctls.h
789
- + pub const SIOCGIFHWADDR: ::c_ulong = 0x00008927;
827
+ + pub const SIOCGIFHWADDR: ::c_ulong = 0x8927;
828
+ + pub const SIOCSIFADDR: ::c_ulong = 0x8916;
790
829
791
830
// options/posix/include/pthread.h
792
831
align_const! {
793
- @@ -668,9 +1011 ,12 @@ align_const! {
832
+ @@ -668,9 +1050 ,12 @@ align_const! {
794
833
__mlibc_state: 0,
795
834
__mlibc_recursion: 0,
796
835
__mlibc_flags: 0,
@@ -803,7 +842,7 @@ index 2046530..0d74760 100644
803
842
};
804
843
pub const PTHREAD_RWLOCK_INITIALIZER: pthread_rwlock_t = pthread_rwlock_t {
805
844
__mlibc_m: 0,
806
- @@ -689,11 +1035 ,40 @@ pub const PTHREAD_PROCESS_PRIVATE: ::c_int = 0;
845
+ @@ -689,11 +1074 ,40 @@ pub const PTHREAD_PROCESS_PRIVATE: ::c_int = 0;
807
846
pub const PTHREAD_PROCESS_SHARED: ::c_int = 1;
808
847
809
848
extern "C" {
@@ -844,7 +883,7 @@ index 2046530..0d74760 100644
844
883
pub fn getgrgid_r(
845
884
gid: ::gid_t,
846
885
grp: *mut ::group,
847
- @@ -728,13 +1103 ,24 @@ extern "C" {
886
+ @@ -728,13 +1142 ,24 @@ extern "C" {
848
887
buflen: ::size_t,
849
888
result: *mut *mut passwd,
850
889
) -> ::c_int;
@@ -873,7 +912,7 @@ index 2046530..0d74760 100644
873
912
pub fn pthread_create(
874
913
thread: *mut ::pthread_t,
875
914
attr: *const ::pthread_attr_t,
876
- @@ -752,6 +1138 ,8 @@ extern "C" {
915
+ @@ -752,6 +1177 ,8 @@ extern "C" {
877
916
addr: *mut ::sockaddr,
878
917
addrlen: *mut ::socklen_t,
879
918
) -> ::ssize_t;
0 commit comments