From a541bf4f6dc50b399e60e8220a1793b8493fb438 Mon Sep 17 00:00:00 2001 From: mbyx Date: Thu, 24 Jul 2025 12:55:18 +0500 Subject: [PATCH] libc: remove uses of enum as per #4419 --- src/macros.rs | 30 +- src/unix/aix/mod.rs | 3 +- src/unix/bsd/apple/mod.rs | 111 +++---- src/unix/bsd/freebsdlike/dragonfly/mod.rs | 2 +- src/unix/bsd/freebsdlike/freebsd/mod.rs | 334 +++++++++------------- src/unix/bsd/netbsdlike/netbsd/mod.rs | 2 +- src/unix/haiku/native.rs | 2 +- src/unix/linux_like/linux/mod.rs | 8 +- src/unix/solarish/solaris.rs | 2 +- 9 files changed, 215 insertions(+), 279 deletions(-) diff --git a/src/macros.rs b/src/macros.rs index 6b5f403fdfb11..3a8db1890107c 100644 --- a/src/macros.rs +++ b/src/macros.rs @@ -223,10 +223,24 @@ macro_rules! e { /// /// See for more. macro_rules! c_enum { - ( + ($( + $(#[repr($repr:ty)])? + pub enum $ty_name:ident { + $($variant:ident $(= $value:expr)?,)+ + } + )+) => { + $(c_enum!(@expand; + $(#[repr($repr)])? + pub enum $ty_name { + $($variant $(= $value)?,)+ + } + );)+ + }; + + (@expand; $(#[repr($repr:ty)])? - enum $ty_name:ident { - $($variant:ident $(= $value:literal)?,)+ + pub enum $ty_name:ident { + $($variant:ident $(= $value:expr)?,)+ } ) => { pub type $ty_name = c_enum!(@ty $($repr)?); @@ -237,7 +251,7 @@ macro_rules! c_enum { (@one; $_ty_name:ident; $_idx:expr;) => {}; ( @one; $ty_name:ident; $default_val:expr; - $variant:ident $(= $value:literal)?, + $variant:ident $(= $value:expr)?, $($tail:tt)* ) => { pub const $variant: $ty_name = { @@ -379,7 +393,7 @@ mod tests { fn c_enumbasic() { // By default, variants get sequential values. c_enum! { - enum e { + pub enum e { VAR0, VAR1, VAR2, @@ -396,7 +410,7 @@ mod tests { // By default, variants get sequential values. c_enum! { #[repr(u16)] - enum e { + pub enum e { VAR0, } } @@ -408,7 +422,7 @@ mod tests { fn c_enumset_value() { // Setting an explicit value resets the count. c_enum! { - enum e { + pub enum e { VAR2 = 2, VAR3, VAR4, @@ -425,7 +439,7 @@ mod tests { // C enums always take one more than the previous value, unless set to a specific // value. Duplicates are allowed. c_enum! { - enum e { + pub enum e { VAR0, VAR2_0 = 2, VAR3_0, diff --git a/src/unix/aix/mod.rs b/src/unix/aix/mod.rs index cb000f4e5480e..66d3c548735f7 100644 --- a/src/unix/aix/mod.rs +++ b/src/unix/aix/mod.rs @@ -58,7 +58,7 @@ pub type pthread_barrierattr_t = *mut c_void; pub type posix_spawn_file_actions_t = *mut c_char; pub type iconv_t = *mut c_void; -e! { +c_enum! { #[repr(u32)] pub enum uio_rw { UIO_READ = 0, @@ -67,6 +67,7 @@ e! { UIO_WRITE_NO_MOVE, UIO_PWRITE, } + #[repr(u32)] pub enum ACTION { FIND = 0, diff --git a/src/unix/bsd/apple/mod.rs b/src/unix/bsd/apple/mod.rs index 17bde1145f9d1..0fbb174c1fe4f 100644 --- a/src/unix/bsd/apple/mod.rs +++ b/src/unix/bsd/apple/mod.rs @@ -184,71 +184,52 @@ impl Clone for timezone { } } -#[cfg_attr(feature = "extra_traits", derive(Debug))] -#[repr(u32)] -pub enum qos_class_t { - QOS_CLASS_USER_INTERACTIVE = 0x21, - QOS_CLASS_USER_INITIATED = 0x19, - QOS_CLASS_DEFAULT = 0x15, - QOS_CLASS_UTILITY = 0x11, - QOS_CLASS_BACKGROUND = 0x09, - QOS_CLASS_UNSPECIFIED = 0x00, -} -impl Copy for qos_class_t {} -impl Clone for qos_class_t { - fn clone(&self) -> qos_class_t { - *self - } -} - -#[cfg_attr(feature = "extra_traits", derive(Debug))] -#[repr(u32)] -pub enum sysdir_search_path_directory_t { - SYSDIR_DIRECTORY_APPLICATION = 1, - SYSDIR_DIRECTORY_DEMO_APPLICATION = 2, - SYSDIR_DIRECTORY_DEVELOPER_APPLICATION = 3, - SYSDIR_DIRECTORY_ADMIN_APPLICATION = 4, - SYSDIR_DIRECTORY_LIBRARY = 5, - SYSDIR_DIRECTORY_DEVELOPER = 6, - SYSDIR_DIRECTORY_USER = 7, - SYSDIR_DIRECTORY_DOCUMENTATION = 8, - SYSDIR_DIRECTORY_DOCUMENT = 9, - SYSDIR_DIRECTORY_CORESERVICE = 10, - SYSDIR_DIRECTORY_AUTOSAVED_INFORMATION = 11, - SYSDIR_DIRECTORY_DESKTOP = 12, - SYSDIR_DIRECTORY_CACHES = 13, - SYSDIR_DIRECTORY_APPLICATION_SUPPORT = 14, - SYSDIR_DIRECTORY_DOWNLOADS = 15, - SYSDIR_DIRECTORY_INPUT_METHODS = 16, - SYSDIR_DIRECTORY_MOVIES = 17, - SYSDIR_DIRECTORY_MUSIC = 18, - SYSDIR_DIRECTORY_PICTURES = 19, - SYSDIR_DIRECTORY_PRINTER_DESCRIPTION = 20, - SYSDIR_DIRECTORY_SHARED_PUBLIC = 21, - SYSDIR_DIRECTORY_PREFERENCE_PANES = 22, - SYSDIR_DIRECTORY_ALL_APPLICATIONS = 100, - SYSDIR_DIRECTORY_ALL_LIBRARIES = 101, -} -impl Copy for sysdir_search_path_directory_t {} -impl Clone for sysdir_search_path_directory_t { - fn clone(&self) -> sysdir_search_path_directory_t { - *self - } -} - -#[cfg_attr(feature = "extra_traits", derive(Debug))] -#[repr(u32)] -pub enum sysdir_search_path_domain_mask_t { - SYSDIR_DOMAIN_MASK_USER = (1 << 0), - SYSDIR_DOMAIN_MASK_LOCAL = (1 << 1), - SYSDIR_DOMAIN_MASK_NETWORK = (1 << 2), - SYSDIR_DOMAIN_MASK_SYSTEM = (1 << 3), - SYSDIR_DOMAIN_MASK_ALL = 0x0ffff, -} -impl Copy for sysdir_search_path_domain_mask_t {} -impl Clone for sysdir_search_path_domain_mask_t { - fn clone(&self) -> sysdir_search_path_domain_mask_t { - *self +c_enum! { + #[repr(u32)] + pub enum qos_class_t { + QOS_CLASS_USER_INTERACTIVE = 0x21, + QOS_CLASS_USER_INITIATED = 0x19, + QOS_CLASS_DEFAULT = 0x15, + QOS_CLASS_UTILITY = 0x11, + QOS_CLASS_BACKGROUND = 0x09, + QOS_CLASS_UNSPECIFIED = 0x00, + } + + #[repr(u32)] + pub enum sysdir_search_path_directory_t { + SYSDIR_DIRECTORY_APPLICATION = 1, + SYSDIR_DIRECTORY_DEMO_APPLICATION = 2, + SYSDIR_DIRECTORY_DEVELOPER_APPLICATION = 3, + SYSDIR_DIRECTORY_ADMIN_APPLICATION = 4, + SYSDIR_DIRECTORY_LIBRARY = 5, + SYSDIR_DIRECTORY_DEVELOPER = 6, + SYSDIR_DIRECTORY_USER = 7, + SYSDIR_DIRECTORY_DOCUMENTATION = 8, + SYSDIR_DIRECTORY_DOCUMENT = 9, + SYSDIR_DIRECTORY_CORESERVICE = 10, + SYSDIR_DIRECTORY_AUTOSAVED_INFORMATION = 11, + SYSDIR_DIRECTORY_DESKTOP = 12, + SYSDIR_DIRECTORY_CACHES = 13, + SYSDIR_DIRECTORY_APPLICATION_SUPPORT = 14, + SYSDIR_DIRECTORY_DOWNLOADS = 15, + SYSDIR_DIRECTORY_INPUT_METHODS = 16, + SYSDIR_DIRECTORY_MOVIES = 17, + SYSDIR_DIRECTORY_MUSIC = 18, + SYSDIR_DIRECTORY_PICTURES = 19, + SYSDIR_DIRECTORY_PRINTER_DESCRIPTION = 20, + SYSDIR_DIRECTORY_SHARED_PUBLIC = 21, + SYSDIR_DIRECTORY_PREFERENCE_PANES = 22, + SYSDIR_DIRECTORY_ALL_APPLICATIONS = 100, + SYSDIR_DIRECTORY_ALL_LIBRARIES = 101, + } + + #[repr(u32)] + pub enum sysdir_search_path_domain_mask_t { + SYSDIR_DOMAIN_MASK_USER = 1 << 0, + SYSDIR_DOMAIN_MASK_LOCAL = 1 << 1, + SYSDIR_DOMAIN_MASK_NETWORK = 1 << 2, + SYSDIR_DOMAIN_MASK_SYSTEM = 1 << 3, + SYSDIR_DOMAIN_MASK_ALL = 0x0ffff, } } diff --git a/src/unix/bsd/freebsdlike/dragonfly/mod.rs b/src/unix/bsd/freebsdlike/dragonfly/mod.rs index 6ed3f0a12ea30..11dcba98fcc5a 100644 --- a/src/unix/bsd/freebsdlike/dragonfly/mod.rs +++ b/src/unix/bsd/freebsdlike/dragonfly/mod.rs @@ -54,7 +54,7 @@ impl Clone for sem { } } -e! { +c_enum! { #[repr(u32)] pub enum lwpstat { LSRUN = 1, diff --git a/src/unix/bsd/freebsdlike/freebsd/mod.rs b/src/unix/bsd/freebsdlike/freebsd/mod.rs index 7c420d703cc0f..4d9d0a1ff4945 100644 --- a/src/unix/bsd/freebsdlike/freebsd/mod.rs +++ b/src/unix/bsd/freebsdlike/freebsd/mod.rs @@ -53,189 +53,134 @@ pub type sctp_assoc_t = u32; pub type eventfd_t = u64; -#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))] -#[repr(u32)] -pub enum devstat_support_flags { - DEVSTAT_ALL_SUPPORTED = 0x00, - DEVSTAT_NO_BLOCKSIZE = 0x01, - DEVSTAT_NO_ORDERED_TAGS = 0x02, - DEVSTAT_BS_UNAVAILABLE = 0x04, -} -impl Copy for devstat_support_flags {} -impl Clone for devstat_support_flags { - fn clone(&self) -> devstat_support_flags { - *self - } -} - -#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))] -#[repr(u32)] -pub enum devstat_trans_flags { - DEVSTAT_NO_DATA = 0x00, - DEVSTAT_READ = 0x01, - DEVSTAT_WRITE = 0x02, - DEVSTAT_FREE = 0x03, -} - -impl Copy for devstat_trans_flags {} -impl Clone for devstat_trans_flags { - fn clone(&self) -> devstat_trans_flags { - *self - } -} - -#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))] -#[repr(u32)] -pub enum devstat_tag_type { - DEVSTAT_TAG_SIMPLE = 0x00, - DEVSTAT_TAG_HEAD = 0x01, - DEVSTAT_TAG_ORDERED = 0x02, - DEVSTAT_TAG_NONE = 0x03, -} -impl Copy for devstat_tag_type {} -impl Clone for devstat_tag_type { - fn clone(&self) -> devstat_tag_type { - *self - } -} - -#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))] -#[repr(u32)] -pub enum devstat_match_flags { - DEVSTAT_MATCH_NONE = 0x00, - DEVSTAT_MATCH_TYPE = 0x01, - DEVSTAT_MATCH_IF = 0x02, - DEVSTAT_MATCH_PASS = 0x04, -} -impl Copy for devstat_match_flags {} -impl Clone for devstat_match_flags { - fn clone(&self) -> devstat_match_flags { - *self - } -} - -#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))] -#[repr(u32)] -pub enum devstat_priority { - DEVSTAT_PRIORITY_MIN = 0x000, - DEVSTAT_PRIORITY_OTHER = 0x020, - DEVSTAT_PRIORITY_PASS = 0x030, - DEVSTAT_PRIORITY_FD = 0x040, - DEVSTAT_PRIORITY_WFD = 0x050, - DEVSTAT_PRIORITY_TAPE = 0x060, - DEVSTAT_PRIORITY_CD = 0x090, - DEVSTAT_PRIORITY_DISK = 0x110, - DEVSTAT_PRIORITY_ARRAY = 0x120, - DEVSTAT_PRIORITY_MAX = 0xfff, -} -impl Copy for devstat_priority {} -impl Clone for devstat_priority { - fn clone(&self) -> devstat_priority { - *self - } -} - -#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))] -#[repr(u32)] -pub enum devstat_type_flags { - DEVSTAT_TYPE_DIRECT = 0x000, - DEVSTAT_TYPE_SEQUENTIAL = 0x001, - DEVSTAT_TYPE_PRINTER = 0x002, - DEVSTAT_TYPE_PROCESSOR = 0x003, - DEVSTAT_TYPE_WORM = 0x004, - DEVSTAT_TYPE_CDROM = 0x005, - DEVSTAT_TYPE_SCANNER = 0x006, - DEVSTAT_TYPE_OPTICAL = 0x007, - DEVSTAT_TYPE_CHANGER = 0x008, - DEVSTAT_TYPE_COMM = 0x009, - DEVSTAT_TYPE_ASC0 = 0x00a, - DEVSTAT_TYPE_ASC1 = 0x00b, - DEVSTAT_TYPE_STORARRAY = 0x00c, - DEVSTAT_TYPE_ENCLOSURE = 0x00d, - DEVSTAT_TYPE_FLOPPY = 0x00e, - DEVSTAT_TYPE_MASK = 0x00f, - DEVSTAT_TYPE_IF_SCSI = 0x010, - DEVSTAT_TYPE_IF_IDE = 0x020, - DEVSTAT_TYPE_IF_OTHER = 0x030, - DEVSTAT_TYPE_IF_MASK = 0x0f0, - DEVSTAT_TYPE_PASS = 0x100, -} -impl Copy for devstat_type_flags {} -impl Clone for devstat_type_flags { - fn clone(&self) -> devstat_type_flags { - *self - } -} - -#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))] -#[repr(u32)] -pub enum devstat_metric { - DSM_NONE, - DSM_TOTAL_BYTES, - DSM_TOTAL_BYTES_READ, - DSM_TOTAL_BYTES_WRITE, - DSM_TOTAL_TRANSFERS, - DSM_TOTAL_TRANSFERS_READ, - DSM_TOTAL_TRANSFERS_WRITE, - DSM_TOTAL_TRANSFERS_OTHER, - DSM_TOTAL_BLOCKS, - DSM_TOTAL_BLOCKS_READ, - DSM_TOTAL_BLOCKS_WRITE, - DSM_KB_PER_TRANSFER, - DSM_KB_PER_TRANSFER_READ, - DSM_KB_PER_TRANSFER_WRITE, - DSM_TRANSFERS_PER_SECOND, - DSM_TRANSFERS_PER_SECOND_READ, - DSM_TRANSFERS_PER_SECOND_WRITE, - DSM_TRANSFERS_PER_SECOND_OTHER, - DSM_MB_PER_SECOND, - DSM_MB_PER_SECOND_READ, - DSM_MB_PER_SECOND_WRITE, - DSM_BLOCKS_PER_SECOND, - DSM_BLOCKS_PER_SECOND_READ, - DSM_BLOCKS_PER_SECOND_WRITE, - DSM_MS_PER_TRANSACTION, - DSM_MS_PER_TRANSACTION_READ, - DSM_MS_PER_TRANSACTION_WRITE, - DSM_SKIP, - DSM_TOTAL_BYTES_FREE, - DSM_TOTAL_TRANSFERS_FREE, - DSM_TOTAL_BLOCKS_FREE, - DSM_KB_PER_TRANSFER_FREE, - DSM_MB_PER_SECOND_FREE, - DSM_TRANSFERS_PER_SECOND_FREE, - DSM_BLOCKS_PER_SECOND_FREE, - DSM_MS_PER_TRANSACTION_OTHER, - DSM_MS_PER_TRANSACTION_FREE, - DSM_BUSY_PCT, - DSM_QUEUE_LENGTH, - DSM_TOTAL_DURATION, - DSM_TOTAL_DURATION_READ, - DSM_TOTAL_DURATION_WRITE, - DSM_TOTAL_DURATION_FREE, - DSM_TOTAL_DURATION_OTHER, - DSM_TOTAL_BUSY_TIME, - DSM_MAX, -} -impl Copy for devstat_metric {} -impl Clone for devstat_metric { - fn clone(&self) -> devstat_metric { - *self - } -} - -#[cfg_attr(feature = "extra_traits", derive(Debug, Hash, PartialEq, Eq))] -#[repr(u32)] -pub enum devstat_select_mode { - DS_SELECT_ADD, - DS_SELECT_ONLY, - DS_SELECT_REMOVE, - DS_SELECT_ADDONLY, -} -impl Copy for devstat_select_mode {} -impl Clone for devstat_select_mode { - fn clone(&self) -> devstat_select_mode { - *self +c_enum! { + #[repr(u32)] + pub enum devstat_support_flags { + DEVSTAT_ALL_SUPPORTED = 0x00, + DEVSTAT_NO_BLOCKSIZE = 0x01, + DEVSTAT_NO_ORDERED_TAGS = 0x02, + DEVSTAT_BS_UNAVAILABLE = 0x04, + } + + #[repr(u32)] + pub enum devstat_trans_flags { + DEVSTAT_NO_DATA = 0x00, + DEVSTAT_READ = 0x01, + DEVSTAT_WRITE = 0x02, + DEVSTAT_FREE = 0x03, + } + + #[repr(u32)] + pub enum devstat_tag_type { + DEVSTAT_TAG_SIMPLE = 0x00, + DEVSTAT_TAG_HEAD = 0x01, + DEVSTAT_TAG_ORDERED = 0x02, + DEVSTAT_TAG_NONE = 0x03, + } + + #[repr(u32)] + pub enum devstat_match_flags { + DEVSTAT_MATCH_NONE = 0x00, + DEVSTAT_MATCH_TYPE = 0x01, + DEVSTAT_MATCH_IF = 0x02, + DEVSTAT_MATCH_PASS = 0x04, + } + + #[repr(u32)] + pub enum devstat_priority { + DEVSTAT_PRIORITY_MIN = 0x000, + DEVSTAT_PRIORITY_OTHER = 0x020, + DEVSTAT_PRIORITY_PASS = 0x030, + DEVSTAT_PRIORITY_FD = 0x040, + DEVSTAT_PRIORITY_WFD = 0x050, + DEVSTAT_PRIORITY_TAPE = 0x060, + DEVSTAT_PRIORITY_CD = 0x090, + DEVSTAT_PRIORITY_DISK = 0x110, + DEVSTAT_PRIORITY_ARRAY = 0x120, + DEVSTAT_PRIORITY_MAX = 0xfff, + } + + #[repr(u32)] + pub enum devstat_type_flags { + DEVSTAT_TYPE_DIRECT = 0x000, + DEVSTAT_TYPE_SEQUENTIAL = 0x001, + DEVSTAT_TYPE_PRINTER = 0x002, + DEVSTAT_TYPE_PROCESSOR = 0x003, + DEVSTAT_TYPE_WORM = 0x004, + DEVSTAT_TYPE_CDROM = 0x005, + DEVSTAT_TYPE_SCANNER = 0x006, + DEVSTAT_TYPE_OPTICAL = 0x007, + DEVSTAT_TYPE_CHANGER = 0x008, + DEVSTAT_TYPE_COMM = 0x009, + DEVSTAT_TYPE_ASC0 = 0x00a, + DEVSTAT_TYPE_ASC1 = 0x00b, + DEVSTAT_TYPE_STORARRAY = 0x00c, + DEVSTAT_TYPE_ENCLOSURE = 0x00d, + DEVSTAT_TYPE_FLOPPY = 0x00e, + DEVSTAT_TYPE_MASK = 0x00f, + DEVSTAT_TYPE_IF_SCSI = 0x010, + DEVSTAT_TYPE_IF_IDE = 0x020, + DEVSTAT_TYPE_IF_OTHER = 0x030, + DEVSTAT_TYPE_IF_MASK = 0x0f0, + DEVSTAT_TYPE_PASS = 0x100, + } + + #[repr(u32)] + pub enum devstat_metric { + DSM_NONE, + DSM_TOTAL_BYTES, + DSM_TOTAL_BYTES_READ, + DSM_TOTAL_BYTES_WRITE, + DSM_TOTAL_TRANSFERS, + DSM_TOTAL_TRANSFERS_READ, + DSM_TOTAL_TRANSFERS_WRITE, + DSM_TOTAL_TRANSFERS_OTHER, + DSM_TOTAL_BLOCKS, + DSM_TOTAL_BLOCKS_READ, + DSM_TOTAL_BLOCKS_WRITE, + DSM_KB_PER_TRANSFER, + DSM_KB_PER_TRANSFER_READ, + DSM_KB_PER_TRANSFER_WRITE, + DSM_TRANSFERS_PER_SECOND, + DSM_TRANSFERS_PER_SECOND_READ, + DSM_TRANSFERS_PER_SECOND_WRITE, + DSM_TRANSFERS_PER_SECOND_OTHER, + DSM_MB_PER_SECOND, + DSM_MB_PER_SECOND_READ, + DSM_MB_PER_SECOND_WRITE, + DSM_BLOCKS_PER_SECOND, + DSM_BLOCKS_PER_SECOND_READ, + DSM_BLOCKS_PER_SECOND_WRITE, + DSM_MS_PER_TRANSACTION, + DSM_MS_PER_TRANSACTION_READ, + DSM_MS_PER_TRANSACTION_WRITE, + DSM_SKIP, + DSM_TOTAL_BYTES_FREE, + DSM_TOTAL_TRANSFERS_FREE, + DSM_TOTAL_BLOCKS_FREE, + DSM_KB_PER_TRANSFER_FREE, + DSM_MB_PER_SECOND_FREE, + DSM_TRANSFERS_PER_SECOND_FREE, + DSM_BLOCKS_PER_SECOND_FREE, + DSM_MS_PER_TRANSACTION_OTHER, + DSM_MS_PER_TRANSACTION_FREE, + DSM_BUSY_PCT, + DSM_QUEUE_LENGTH, + DSM_TOTAL_DURATION, + DSM_TOTAL_DURATION_READ, + DSM_TOTAL_DURATION_WRITE, + DSM_TOTAL_DURATION_FREE, + DSM_TOTAL_DURATION_OTHER, + DSM_TOTAL_BUSY_TIME, + DSM_MAX, + } + + #[repr(u32)] + pub enum devstat_select_mode { + DS_SELECT_ADD, + DS_SELECT_ONLY, + DS_SELECT_REMOVE, + DS_SELECT_ADDONLY, } } @@ -2388,20 +2333,15 @@ cfg_if! { } } -#[cfg_attr(feature = "extra_traits", derive(Debug))] -#[repr(u32)] -pub enum dot3Vendors { - dot3VendorAMD = 1, - dot3VendorIntel = 2, - dot3VendorNational = 4, - dot3VendorFujitsu = 5, - dot3VendorDigital = 6, - dot3VendorWesternDigital = 7, -} -impl Copy for dot3Vendors {} -impl Clone for dot3Vendors { - fn clone(&self) -> dot3Vendors { - *self +c_enum! { + #[repr(u32)] + pub enum dot3Vendors { + dot3VendorAMD = 1, + dot3VendorIntel = 2, + dot3VendorNational = 4, + dot3VendorFujitsu = 5, + dot3VendorDigital = 6, + dot3VendorWesternDigital = 7, } } diff --git a/src/unix/bsd/netbsdlike/netbsd/mod.rs b/src/unix/bsd/netbsdlike/netbsd/mod.rs index e93579b3d133a..ddb02928a5ece 100644 --- a/src/unix/bsd/netbsdlike/netbsd/mod.rs +++ b/src/unix/bsd/netbsdlike/netbsd/mod.rs @@ -39,7 +39,7 @@ pub type Elf64_Xword = u64; pub type iconv_t = *mut c_void; c_enum! { - enum fae_action { + pub enum fae_action { FAE_OPEN, FAE_DUP2, FAE_CLOSE, diff --git a/src/unix/haiku/native.rs b/src/unix/haiku/native.rs index 082e85b326ead..f3eaf623a59a5 100644 --- a/src/unix/haiku/native.rs +++ b/src/unix/haiku/native.rs @@ -46,7 +46,7 @@ pub type thread_func = extern "C" fn(*mut c_void) -> status_t; // kernel/image.h pub type image_id = i32; -e! { +c_enum! { // kernel/OS.h pub enum thread_state { B_THREAD_RUNNING = 1, diff --git a/src/unix/linux_like/linux/mod.rs b/src/unix/linux_like/linux/mod.rs index cbea6c796379b..3f481fb755c8d 100644 --- a/src/unix/linux_like/linux/mod.rs +++ b/src/unix/linux_like/linux/mod.rs @@ -75,7 +75,7 @@ cfg_if! { } c_enum! { - enum tpacket_versions { + pub enum tpacket_versions { TPACKET_V1, TPACKET_V2, TPACKET_V3, @@ -83,7 +83,7 @@ c_enum! { } c_enum! { - enum pid_type { + pub enum pid_type { PIDTYPE_PID, PIDTYPE_TGID, PIDTYPE_PGID, @@ -4436,14 +4436,14 @@ pub const RTNLGRP_STATS: c_uint = 0x24; // linux/cn_proc.h c_enum! { - enum proc_cn_mcast_op { + pub enum proc_cn_mcast_op { PROC_CN_MCAST_LISTEN = 1, PROC_CN_MCAST_IGNORE = 2, } } c_enum! { - enum proc_cn_event { + pub enum proc_cn_event { PROC_EVENT_NONE = 0x00000000, PROC_EVENT_FORK = 0x00000001, PROC_EVENT_EXEC = 0x00000002, diff --git a/src/unix/solarish/solaris.rs b/src/unix/solarish/solaris.rs index 5236917970220..bebe330bc52c0 100644 --- a/src/unix/solarish/solaris.rs +++ b/src/unix/solarish/solaris.rs @@ -8,7 +8,7 @@ pub type door_attr_t = c_uint; pub type door_id_t = c_ulonglong; pub type lgrp_affinity_t = c_uint; -e! { +c_enum! { #[repr(u32)] pub enum lgrp_rsrc_t { LGRP_RSRC_CPU = 0,