@@ -186,6 +186,10 @@ s! {
186
186
187
187
pub const SIGEV_THREAD_ID : :: c_int = 4 ;
188
188
189
+ pub const EXTATTR_NAMESPACE_EMPTY : :: c_int = 0 ;
190
+ pub const EXTATTR_NAMESPACE_USER : :: c_int = 1 ;
191
+ pub const EXTATTR_NAMESPACE_SYSTEM : :: c_int = 2 ;
192
+
189
193
pub const RAND_MAX : :: c_int = 0x7fff_fffd ;
190
194
pub const PTHREAD_STACK_MIN : :: size_t = 2048 ;
191
195
pub const PTHREAD_MUTEX_ADAPTIVE_NP : :: c_int = 4 ;
@@ -934,6 +938,58 @@ extern {
934
938
pub fn clock_gettime ( clk_id : :: clockid_t , tp : * mut :: timespec ) -> :: c_int ;
935
939
pub fn clock_settime ( clk_id : :: clockid_t , tp : * const :: timespec ) -> :: c_int ;
936
940
941
+ pub fn extattr_delete_fd ( fd : :: c_int ,
942
+ attrnamespace : :: c_int ,
943
+ attrname : * const :: c_char ) -> :: c_int ;
944
+ pub fn extattr_delete_file ( path : * const :: c_char ,
945
+ attrnamespace : :: c_int ,
946
+ attrname : * const :: c_char ) -> :: c_int ;
947
+ pub fn extattr_delete_link ( path : * const :: c_char ,
948
+ attrnamespace : :: c_int ,
949
+ attrname : * const :: c_char ) -> :: c_int ;
950
+ pub fn extattr_get_fd ( fd : :: c_int ,
951
+ attrnamespace : :: c_int ,
952
+ attrname : * const :: c_char ,
953
+ data : * mut :: c_void ,
954
+ nbytes : :: size_t ) -> :: ssize_t ;
955
+ pub fn extattr_get_file ( path : * const :: c_char ,
956
+ attrnamespace : :: c_int ,
957
+ attrname : * const :: c_char ,
958
+ data : * mut :: c_void ,
959
+ nbytes : :: size_t ) -> :: ssize_t ;
960
+ pub fn extattr_get_link ( path : * const :: c_char ,
961
+ attrnamespace : :: c_int ,
962
+ attrname : * const :: c_char ,
963
+ data : * mut :: c_void ,
964
+ nbytes : :: size_t ) -> :: ssize_t ;
965
+ pub fn extattr_list_fd ( fd : :: c_int ,
966
+ attrnamespace : :: c_int ,
967
+ data : * mut :: c_void ,
968
+ nbytes : :: size_t ) -> :: ssize_t ;
969
+ pub fn extattr_list_file ( path : * const :: c_char ,
970
+ attrnamespace : :: c_int ,
971
+ data : * mut :: c_void ,
972
+ nbytes : :: size_t ) -> :: ssize_t ;
973
+ pub fn extattr_list_link ( path : * const :: c_char ,
974
+ attrnamespace : :: c_int ,
975
+ data : * mut :: c_void ,
976
+ nbytes : :: size_t ) -> :: ssize_t ;
977
+ pub fn extattr_set_fd ( fd : :: c_int ,
978
+ attrnamespace : :: c_int ,
979
+ attrname : * const :: c_char ,
980
+ data : * const :: c_void ,
981
+ nbytes : :: size_t ) -> :: ssize_t ;
982
+ pub fn extattr_set_file ( path : * const :: c_char ,
983
+ attrnamespace : :: c_int ,
984
+ attrname : * const :: c_char ,
985
+ data : * const :: c_void ,
986
+ nbytes : :: size_t ) -> :: ssize_t ;
987
+ pub fn extattr_set_link ( path : * const :: c_char ,
988
+ attrnamespace : :: c_int ,
989
+ attrname : * const :: c_char ,
990
+ data : * const :: c_void ,
991
+ nbytes : :: size_t ) -> :: ssize_t ;
992
+
937
993
pub fn jail ( jail : * mut :: jail ) -> :: c_int ;
938
994
pub fn jail_attach ( jid : :: c_int ) -> :: c_int ;
939
995
pub fn jail_remove ( jid : :: c_int ) -> :: c_int ;
@@ -1060,6 +1116,14 @@ extern {
1060
1116
pub fn dup3 ( src : :: c_int , dst : :: c_int , flags : :: c_int ) -> :: c_int ;
1061
1117
}
1062
1118
1119
+ #[ link( name = "util" ) ]
1120
+ extern {
1121
+ pub fn extattr_namespace_to_string ( attrnamespace : :: c_int ,
1122
+ string : * mut * mut :: c_char ) -> :: c_int ;
1123
+ pub fn extattr_string_to_namespace ( string : * const :: c_char ,
1124
+ attrnamespace : * mut :: c_int ) -> :: c_int ;
1125
+ }
1126
+
1063
1127
cfg_if ! {
1064
1128
if #[ cfg( target_arch = "x86" ) ] {
1065
1129
mod x86;
0 commit comments