Skip to content

Commit 631e268

Browse files
author
Jethro Beekman
committed
Move function definitions to platform-specific modules
1 parent d145731 commit 631e268

File tree

7 files changed

+735
-131
lines changed

7 files changed

+735
-131
lines changed

src/cloudabi/mod.rs

Lines changed: 139 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
use {c_void, c_int, c_uint, c_double, size_t};
2+
13
pub type in_addr_t = u32;
24
pub type in_port_t = u16;
35
pub type pthread_key_t = usize;
@@ -6,6 +8,9 @@ pub type sa_family_t = u8;
68
pub type socklen_t = usize;
79
pub type time_t = i64;
810

11+
pub enum FILE {}
12+
pub enum fpos_t {} // TODO: fill this out with a struct
13+
914
s! {
1015
pub struct addrinfo {
1116
pub ai_flags: ::c_int,
@@ -90,6 +95,140 @@ pub const SOCK_DGRAM: ::c_int = 128;
9095
pub const SOCK_STREAM: ::c_int = 130;
9196

9297
extern {
98+
pub fn isalnum(c: c_int) -> c_int;
99+
pub fn isalpha(c: c_int) -> c_int;
100+
pub fn iscntrl(c: c_int) -> c_int;
101+
pub fn isdigit(c: c_int) -> c_int;
102+
pub fn isgraph(c: c_int) -> c_int;
103+
pub fn islower(c: c_int) -> c_int;
104+
pub fn isprint(c: c_int) -> c_int;
105+
pub fn ispunct(c: c_int) -> c_int;
106+
pub fn isspace(c: c_int) -> c_int;
107+
pub fn isupper(c: c_int) -> c_int;
108+
pub fn isxdigit(c: c_int) -> c_int;
109+
pub fn tolower(c: c_int) -> c_int;
110+
pub fn toupper(c: c_int) -> c_int;
111+
112+
pub fn fopen(filename: *const c_char, mode: *const c_char) -> *mut FILE;
113+
pub fn freopen(
114+
filename: *const c_char,
115+
mode: *const c_char,
116+
file: *mut FILE,
117+
) -> *mut FILE;
118+
pub fn fflush(file: *mut FILE) -> c_int;
119+
pub fn fclose(file: *mut FILE) -> c_int;
120+
pub fn remove(filename: *const c_char) -> c_int;
121+
pub fn rename(oldname: *const c_char, newname: *const c_char) -> c_int;
122+
pub fn tmpfile() -> *mut FILE;
123+
pub fn setvbuf(
124+
stream: *mut FILE,
125+
buffer: *mut c_char,
126+
mode: c_int,
127+
size: size_t,
128+
) -> c_int;
129+
pub fn setbuf(stream: *mut FILE, buf: *mut c_char);
130+
pub fn getchar() -> c_int;
131+
pub fn putchar(c: c_int) -> c_int;
132+
pub fn fgetc(stream: *mut FILE) -> c_int;
133+
pub fn fgets(buf: *mut c_char, n: c_int, stream: *mut FILE) -> *mut c_char;
134+
pub fn fputc(c: c_int, stream: *mut FILE) -> c_int;
135+
pub fn fputs(s: *const c_char, stream: *mut FILE) -> c_int;
136+
pub fn puts(s: *const c_char) -> c_int;
137+
pub fn ungetc(c: c_int, stream: *mut FILE) -> c_int;
138+
pub fn fread(
139+
ptr: *mut c_void,
140+
size: size_t,
141+
nobj: size_t,
142+
stream: *mut FILE,
143+
) -> size_t;
144+
pub fn fwrite(
145+
ptr: *const c_void,
146+
size: size_t,
147+
nobj: size_t,
148+
stream: *mut FILE,
149+
) -> size_t;
150+
pub fn fseek(stream: *mut FILE, offset: c_long, whence: c_int) -> c_int;
151+
pub fn ftell(stream: *mut FILE) -> c_long;
152+
pub fn rewind(stream: *mut FILE);
153+
pub fn fgetpos(stream: *mut FILE, ptr: *mut fpos_t) -> c_int;
154+
pub fn fsetpos(stream: *mut FILE, ptr: *const fpos_t) -> c_int;
155+
pub fn feof(stream: *mut FILE) -> c_int;
156+
pub fn ferror(stream: *mut FILE) -> c_int;
157+
pub fn perror(s: *const c_char);
158+
pub fn atoi(s: *const c_char) -> c_int;
159+
pub fn strtod(s: *const c_char, endp: *mut *mut c_char) -> c_double;
160+
pub fn strtol(
161+
s: *const c_char,
162+
endp: *mut *mut c_char,
163+
base: c_int,
164+
) -> c_long;
165+
pub fn strtoul(
166+
s: *const c_char,
167+
endp: *mut *mut c_char,
168+
base: c_int,
169+
) -> c_ulong;
170+
pub fn calloc(nobj: size_t, size: size_t) -> *mut c_void;
171+
pub fn malloc(size: size_t) -> *mut c_void;
172+
pub fn realloc(p: *mut c_void, size: size_t) -> *mut c_void;
173+
pub fn free(p: *mut c_void);
174+
pub fn abort() -> !;
175+
pub fn exit(status: c_int) -> !;
176+
pub fn _exit(status: c_int) -> !;
177+
pub fn atexit(cb: extern fn()) -> c_int;
178+
pub fn system(s: *const c_char) -> c_int;
179+
pub fn getenv(s: *const c_char) -> *mut c_char;
180+
181+
pub fn strcpy(dst: *mut c_char, src: *const c_char) -> *mut c_char;
182+
pub fn strncpy(
183+
dst: *mut c_char,
184+
src: *const c_char,
185+
n: size_t,
186+
) -> *mut c_char;
187+
pub fn strcat(s: *mut c_char, ct: *const c_char) -> *mut c_char;
188+
pub fn strncat(s: *mut c_char, ct: *const c_char, n: size_t)
189+
-> *mut c_char;
190+
pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
191+
pub fn strncmp(cs: *const c_char, ct: *const c_char, n: size_t) -> c_int;
192+
pub fn strcoll(cs: *const c_char, ct: *const c_char) -> c_int;
193+
pub fn strchr(cs: *const c_char, c: c_int) -> *mut c_char;
194+
pub fn strrchr(cs: *const c_char, c: c_int) -> *mut c_char;
195+
pub fn strspn(cs: *const c_char, ct: *const c_char) -> size_t;
196+
pub fn strcspn(cs: *const c_char, ct: *const c_char) -> size_t;
197+
pub fn strdup(cs: *const c_char) -> *mut c_char;
198+
pub fn strpbrk(cs: *const c_char, ct: *const c_char) -> *mut c_char;
199+
pub fn strstr(cs: *const c_char, ct: *const c_char) -> *mut c_char;
200+
pub fn strlen(cs: *const c_char) -> size_t;
201+
pub fn strnlen(cs: *const c_char, maxlen: size_t) -> size_t;
202+
pub fn strerror(n: c_int) -> *mut c_char;
203+
pub fn strtok(s: *mut c_char, t: *const c_char) -> *mut c_char;
204+
pub fn strxfrm(s: *mut c_char, ct: *const c_char, n: size_t) -> size_t;
205+
pub fn wcslen(buf: *const wchar_t) -> size_t;
206+
pub fn wcstombs(
207+
dest: *mut c_char,
208+
src: *const wchar_t,
209+
n: size_t,
210+
) -> ::size_t;
211+
212+
pub fn memchr(cx: *const c_void, c: c_int, n: size_t) -> *mut c_void;
213+
pub fn memcmp(cx: *const c_void, ct: *const c_void, n: size_t) -> c_int;
214+
pub fn memcpy(
215+
dest: *mut c_void,
216+
src: *const c_void,
217+
n: size_t,
218+
) -> *mut c_void;
219+
pub fn memmove(
220+
dest: *mut c_void,
221+
src: *const c_void,
222+
n: size_t,
223+
) -> *mut c_void;
224+
pub fn memset(dest: *mut c_void, c: c_int, n: size_t) -> *mut c_void;
225+
226+
pub fn abs(i: c_int) -> c_int;
227+
pub fn atof(s: *const c_char) -> c_double;
228+
pub fn labs(i: c_long) -> c_long;
229+
pub fn rand() -> c_int;
230+
pub fn srand(seed: c_uint);
231+
93232
pub fn arc4random_buf(buf: *const ::c_void, len: ::size_t);
94233
pub fn freeaddrinfo(res: *mut addrinfo);
95234
pub fn gai_strerror(errcode: ::c_int) -> *const ::c_char;

src/fuchsia/mod.rs

Lines changed: 138 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
//! More functions and definitions can be found in the more specific modules
44
//! according to the platform in question.
55
6+
use {c_void, c_int, c_uint, c_double, size_t};
67
use dox::{mem, Option};
78

89
// PUB_TYPE
@@ -77,6 +78,9 @@ pub enum DIR {}
7778
pub enum locale_t {}
7879
pub enum fpos64_t {} // TODO: fill this out with a struct
7980

81+
pub enum FILE {}
82+
pub enum fpos_t {} // TODO: fill this out with a struct
83+
8084
// PUB_STRUCT
8185

8286
s! {
@@ -3012,6 +3016,140 @@ f! {
30123016
extern {}
30133017

30143018
extern {
3019+
pub fn isalnum(c: c_int) -> c_int;
3020+
pub fn isalpha(c: c_int) -> c_int;
3021+
pub fn iscntrl(c: c_int) -> c_int;
3022+
pub fn isdigit(c: c_int) -> c_int;
3023+
pub fn isgraph(c: c_int) -> c_int;
3024+
pub fn islower(c: c_int) -> c_int;
3025+
pub fn isprint(c: c_int) -> c_int;
3026+
pub fn ispunct(c: c_int) -> c_int;
3027+
pub fn isspace(c: c_int) -> c_int;
3028+
pub fn isupper(c: c_int) -> c_int;
3029+
pub fn isxdigit(c: c_int) -> c_int;
3030+
pub fn tolower(c: c_int) -> c_int;
3031+
pub fn toupper(c: c_int) -> c_int;
3032+
3033+
pub fn fopen(filename: *const c_char, mode: *const c_char) -> *mut FILE;
3034+
pub fn freopen(
3035+
filename: *const c_char,
3036+
mode: *const c_char,
3037+
file: *mut FILE,
3038+
) -> *mut FILE;
3039+
pub fn fflush(file: *mut FILE) -> c_int;
3040+
pub fn fclose(file: *mut FILE) -> c_int;
3041+
pub fn remove(filename: *const c_char) -> c_int;
3042+
pub fn rename(oldname: *const c_char, newname: *const c_char) -> c_int;
3043+
pub fn tmpfile() -> *mut FILE;
3044+
pub fn setvbuf(
3045+
stream: *mut FILE,
3046+
buffer: *mut c_char,
3047+
mode: c_int,
3048+
size: size_t,
3049+
) -> c_int;
3050+
pub fn setbuf(stream: *mut FILE, buf: *mut c_char);
3051+
pub fn getchar() -> c_int;
3052+
pub fn putchar(c: c_int) -> c_int;
3053+
pub fn fgetc(stream: *mut FILE) -> c_int;
3054+
pub fn fgets(buf: *mut c_char, n: c_int, stream: *mut FILE) -> *mut c_char;
3055+
pub fn fputc(c: c_int, stream: *mut FILE) -> c_int;
3056+
pub fn fputs(s: *const c_char, stream: *mut FILE) -> c_int;
3057+
pub fn puts(s: *const c_char) -> c_int;
3058+
pub fn ungetc(c: c_int, stream: *mut FILE) -> c_int;
3059+
pub fn fread(
3060+
ptr: *mut c_void,
3061+
size: size_t,
3062+
nobj: size_t,
3063+
stream: *mut FILE,
3064+
) -> size_t;
3065+
pub fn fwrite(
3066+
ptr: *const c_void,
3067+
size: size_t,
3068+
nobj: size_t,
3069+
stream: *mut FILE,
3070+
) -> size_t;
3071+
pub fn fseek(stream: *mut FILE, offset: c_long, whence: c_int) -> c_int;
3072+
pub fn ftell(stream: *mut FILE) -> c_long;
3073+
pub fn rewind(stream: *mut FILE);
3074+
pub fn fgetpos(stream: *mut FILE, ptr: *mut fpos_t) -> c_int;
3075+
pub fn fsetpos(stream: *mut FILE, ptr: *const fpos_t) -> c_int;
3076+
pub fn feof(stream: *mut FILE) -> c_int;
3077+
pub fn ferror(stream: *mut FILE) -> c_int;
3078+
pub fn perror(s: *const c_char);
3079+
pub fn atoi(s: *const c_char) -> c_int;
3080+
pub fn strtod(s: *const c_char, endp: *mut *mut c_char) -> c_double;
3081+
pub fn strtol(
3082+
s: *const c_char,
3083+
endp: *mut *mut c_char,
3084+
base: c_int,
3085+
) -> c_long;
3086+
pub fn strtoul(
3087+
s: *const c_char,
3088+
endp: *mut *mut c_char,
3089+
base: c_int,
3090+
) -> c_ulong;
3091+
pub fn calloc(nobj: size_t, size: size_t) -> *mut c_void;
3092+
pub fn malloc(size: size_t) -> *mut c_void;
3093+
pub fn realloc(p: *mut c_void, size: size_t) -> *mut c_void;
3094+
pub fn free(p: *mut c_void);
3095+
pub fn abort() -> !;
3096+
pub fn exit(status: c_int) -> !;
3097+
pub fn _exit(status: c_int) -> !;
3098+
pub fn atexit(cb: extern fn()) -> c_int;
3099+
pub fn system(s: *const c_char) -> c_int;
3100+
pub fn getenv(s: *const c_char) -> *mut c_char;
3101+
3102+
pub fn strcpy(dst: *mut c_char, src: *const c_char) -> *mut c_char;
3103+
pub fn strncpy(
3104+
dst: *mut c_char,
3105+
src: *const c_char,
3106+
n: size_t,
3107+
) -> *mut c_char;
3108+
pub fn strcat(s: *mut c_char, ct: *const c_char) -> *mut c_char;
3109+
pub fn strncat(s: *mut c_char, ct: *const c_char, n: size_t)
3110+
-> *mut c_char;
3111+
pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
3112+
pub fn strncmp(cs: *const c_char, ct: *const c_char, n: size_t) -> c_int;
3113+
pub fn strcoll(cs: *const c_char, ct: *const c_char) -> c_int;
3114+
pub fn strchr(cs: *const c_char, c: c_int) -> *mut c_char;
3115+
pub fn strrchr(cs: *const c_char, c: c_int) -> *mut c_char;
3116+
pub fn strspn(cs: *const c_char, ct: *const c_char) -> size_t;
3117+
pub fn strcspn(cs: *const c_char, ct: *const c_char) -> size_t;
3118+
pub fn strdup(cs: *const c_char) -> *mut c_char;
3119+
pub fn strpbrk(cs: *const c_char, ct: *const c_char) -> *mut c_char;
3120+
pub fn strstr(cs: *const c_char, ct: *const c_char) -> *mut c_char;
3121+
pub fn strlen(cs: *const c_char) -> size_t;
3122+
pub fn strnlen(cs: *const c_char, maxlen: size_t) -> size_t;
3123+
pub fn strerror(n: c_int) -> *mut c_char;
3124+
pub fn strtok(s: *mut c_char, t: *const c_char) -> *mut c_char;
3125+
pub fn strxfrm(s: *mut c_char, ct: *const c_char, n: size_t) -> size_t;
3126+
pub fn wcslen(buf: *const wchar_t) -> size_t;
3127+
pub fn wcstombs(
3128+
dest: *mut c_char,
3129+
src: *const wchar_t,
3130+
n: size_t,
3131+
) -> ::size_t;
3132+
3133+
pub fn memchr(cx: *const c_void, c: c_int, n: size_t) -> *mut c_void;
3134+
pub fn memcmp(cx: *const c_void, ct: *const c_void, n: size_t) -> c_int;
3135+
pub fn memcpy(
3136+
dest: *mut c_void,
3137+
src: *const c_void,
3138+
n: size_t,
3139+
) -> *mut c_void;
3140+
pub fn memmove(
3141+
dest: *mut c_void,
3142+
src: *const c_void,
3143+
n: size_t,
3144+
) -> *mut c_void;
3145+
pub fn memset(dest: *mut c_void, c: c_int, n: size_t) -> *mut c_void;
3146+
3147+
pub fn abs(i: c_int) -> c_int;
3148+
pub fn atof(s: *const c_char) -> c_double;
3149+
pub fn labs(i: c_long) -> c_long;
3150+
pub fn rand() -> c_int;
3151+
pub fn srand(seed: c_uint);
3152+
30153153
pub fn getpwnam(name: *const ::c_char) -> *mut passwd;
30163154
pub fn getpwuid(uid: ::uid_t) -> *mut passwd;
30173155

0 commit comments

Comments
 (0)