2 Extern implementation of Nit module posix
6 #include "posix._ffi.h"
7 #define String_to_cstring posix___String_to_cstring
8 #define NativeString_to_s posix___NativeString_to_s
9 #define new_Array_of_String posix___new_Array_of_String
10 #define Array_of_String_add posix___Array_of_String_add
11 #line 22 "lib/standard/posix.nit"
13 #include <sys/types.h>
18 int posix___Sys_uid__assign___impl( Sys recv
, int uid
)
20 #line 30 "lib/standard/posix.nit"
24 int posix___Sys_uid___impl( Sys recv
)
26 #line 31 "lib/standard/posix.nit"
30 int posix___Sys_gid__assign___impl( Sys recv
, int gid
)
32 #line 33 "lib/standard/posix.nit"
36 int posix___Sys_gid___impl( Sys recv
)
38 #line 34 "lib/standard/posix.nit"
42 int posix___Sys_euid__assign___impl( Sys recv
, int uid
)
44 #line 36 "lib/standard/posix.nit"
46 return seteuid(uid
); }
48 int posix___Sys_euid___impl( Sys recv
)
50 #line 37 "lib/standard/posix.nit"
54 int posix___Sys_egid__assign___impl( Sys recv
, int gid
)
56 #line 39 "lib/standard/posix.nit"
58 return setegid(gid
); }
60 int posix___Sys_egid___impl( Sys recv
)
62 #line 40 "lib/standard/posix.nit"
66 struct passwd
* posix___new_Passwd_from_uid___impl( int uid
)
68 #line 45 "lib/standard/posix.nit"
70 return getpwuid(uid
); }
72 struct passwd
* posix___new_Passwd_from_name___impl( String name
)
74 #line 48 "lib/standard/posix.nit"
76 return getpwnam( String_to_cstring(name
) ); }
78 String
posix___Passwd_name___impl( struct passwd
* recv
)
80 #line 51 "lib/standard/posix.nit"
82 return NativeString_to_s(recv
->pw_name
); }
84 String
posix___Passwd_passwd___impl( struct passwd
* recv
)
86 #line 54 "lib/standard/posix.nit"
88 return NativeString_to_s(recv
->pw_passwd
); }
90 int posix___Passwd_uid___impl( struct passwd
* recv
)
92 #line 57 "lib/standard/posix.nit"
94 return recv
->pw_uid
; }
96 int posix___Passwd_gid___impl( struct passwd
* recv
)
98 #line 60 "lib/standard/posix.nit"
100 return recv
->pw_gid
; }
102 String
posix___Passwd_dir___impl( struct passwd
* recv
)
104 #line 63 "lib/standard/posix.nit"
106 return NativeString_to_s(recv
->pw_dir
); }
108 String
posix___Passwd_shell___impl( struct passwd
* recv
)
110 #line 66 "lib/standard/posix.nit"
112 return NativeString_to_s(recv
->pw_shell
); }
114 struct group
* posix___new_Group_from_gid___impl( int gid
)
116 #line 70 "lib/standard/posix.nit"
118 return getgrgid(gid
); }
120 struct group
* posix___new_Group_from_name___impl( String name
)
122 #line 71 "lib/standard/posix.nit"
124 return getgrnam( String_to_cstring(name
) ); }
126 String
posix___Group_name___impl( struct group
* recv
)
128 #line 73 "lib/standard/posix.nit"
130 return NativeString_to_s(recv
->gr_name
); }
132 String
posix___Group_passwd___impl( struct group
* recv
)
134 #line 74 "lib/standard/posix.nit"
136 return NativeString_to_s(recv
->gr_passwd
); }
138 int posix___Group_gid___impl( struct group
* recv
)
140 #line 75 "lib/standard/posix.nit"
142 return recv
->gr_gid
; }
144 Array_of_String
posix___Group_mem___impl( struct group
* recv
)
146 #line 76 "lib/standard/posix.nit"
154 ret
= new_Array_of_String();
156 for (m
= 0; mem
[m
] != NULL
; m
++)
157 Array_of_String_add(ret
, NativeString_to_s(mem
[m
]));