Skip to content

Commit 7dfdec8

Browse files
committed
Move universal C types into libc root
1 parent f9b96ee commit 7dfdec8

File tree

8 files changed

+675
-974
lines changed

8 files changed

+675
-974
lines changed

src/cloudabi/mod.rs

Lines changed: 98 additions & 148 deletions
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,5 @@
11
use dox::Option;
22

3-
pub type int8_t = i8;
4-
pub type int16_t = i16;
5-
pub type int32_t = i32;
6-
pub type int64_t = i64;
7-
pub type uint8_t = u8;
8-
pub type uint16_t = u16;
9-
pub type uint32_t = u32;
10-
pub type uint64_t = u64;
11-
12-
pub type c_schar = i8;
13-
pub type c_uchar = u8;
14-
pub type c_short = i16;
15-
pub type c_ushort = u16;
16-
pub type c_int = i32;
17-
pub type c_uint = u32;
18-
pub type c_float = f32;
19-
pub type c_double = f64;
20-
pub type c_longlong = i64;
21-
pub type c_ulonglong = u64;
22-
pub type intmax_t = i64;
23-
pub type uintmax_t = u64;
24-
25-
pub type size_t = usize;
26-
pub type ptrdiff_t = isize;
27-
pub type intptr_t = isize;
28-
pub type uintptr_t = usize;
29-
pub type ssize_t = isize;
30-
313
pub type in_addr_t = u32;
324
pub type in_port_t = u16;
335
pub type pthread_key_t = usize;
@@ -86,9 +58,6 @@ s! {
8658
}
8759
}
8860

89-
pub const INT_MIN: c_int = -2147483648;
90-
pub const INT_MAX: c_int = 2147483647;
91-
9261
pub const _SC_NPROCESSORS_ONLN: ::c_int = 52;
9362
pub const _SC_PAGESIZE: ::c_int = 54;
9463

@@ -136,116 +105,116 @@ impl ::dox::Clone for fpos_t {
136105
}
137106

138107
extern {
139-
pub fn isalnum(c: c_int) -> c_int;
140-
pub fn isalpha(c: c_int) -> c_int;
141-
pub fn iscntrl(c: c_int) -> c_int;
142-
pub fn isdigit(c: c_int) -> c_int;
143-
pub fn isgraph(c: c_int) -> c_int;
144-
pub fn islower(c: c_int) -> c_int;
145-
pub fn isprint(c: c_int) -> c_int;
146-
pub fn ispunct(c: c_int) -> c_int;
147-
pub fn isspace(c: c_int) -> c_int;
148-
pub fn isupper(c: c_int) -> c_int;
149-
pub fn isxdigit(c: c_int) -> c_int;
150-
pub fn tolower(c: c_int) -> c_int;
151-
pub fn toupper(c: c_int) -> c_int;
152-
pub fn fopen(filename: *const c_char, mode: *const c_char) -> *mut FILE;
153-
pub fn freopen(filename: *const c_char, mode: *const c_char,
108+
pub fn isalnum(c: ::c_int) -> ::c_int;
109+
pub fn isalpha(c: ::c_int) -> ::c_int;
110+
pub fn iscntrl(c: ::c_int) -> ::c_int;
111+
pub fn isdigit(c: ::c_int) -> ::c_int;
112+
pub fn isgraph(c: ::c_int) -> ::c_int;
113+
pub fn islower(c: ::c_int) -> ::c_int;
114+
pub fn isprint(c: ::c_int) -> ::c_int;
115+
pub fn ispunct(c: ::c_int) -> ::c_int;
116+
pub fn isspace(c: ::c_int) -> ::c_int;
117+
pub fn isupper(c: ::c_int) -> ::c_int;
118+
pub fn isxdigit(c: ::c_int) -> ::c_int;
119+
pub fn tolower(c: ::c_int) -> ::c_int;
120+
pub fn toupper(c: ::c_int) -> ::c_int;
121+
pub fn fopen(filename: *const ::c_char, mode: *const ::c_char) -> *mut FILE;
122+
pub fn freopen(filename: *const ::c_char, mode: *const ::c_char,
154123
file: *mut FILE) -> *mut FILE;
155-
pub fn fflush(file: *mut FILE) -> c_int;
156-
pub fn fclose(file: *mut FILE) -> c_int;
157-
pub fn remove(filename: *const c_char) -> c_int;
158-
pub fn rename(oldname: *const c_char, newname: *const c_char) -> c_int;
124+
pub fn fflush(file: *mut FILE) -> ::c_int;
125+
pub fn fclose(file: *mut FILE) -> ::c_int;
126+
pub fn remove(filename: *const ::c_char) -> ::c_int;
127+
pub fn rename(oldname: *const ::c_char, newname: *const ::c_char) -> ::c_int;
159128
pub fn tmpfile() -> *mut FILE;
160-
pub fn setvbuf(stream: *mut FILE, buffer: *mut c_char, mode: c_int,
161-
size: size_t) -> c_int;
162-
pub fn setbuf(stream: *mut FILE, buf: *mut c_char);
163-
pub fn getchar() -> c_int;
164-
pub fn putchar(c: c_int) -> c_int;
165-
pub fn fgetc(stream: *mut FILE) -> c_int;
166-
pub fn fgets(buf: *mut c_char, n: c_int, stream: *mut FILE) -> *mut c_char;
167-
pub fn fputc(c: c_int, stream: *mut FILE) -> c_int;
168-
pub fn fputs(s: *const c_char, stream: *mut FILE) -> c_int;
169-
pub fn puts(s: *const c_char) -> c_int;
170-
pub fn ungetc(c: c_int, stream: *mut FILE) -> c_int;
171-
pub fn fread(ptr: *mut c_void, size: size_t, nobj: size_t,
172-
stream: *mut FILE) -> size_t;
173-
pub fn fwrite(ptr: *const c_void, size: size_t, nobj: size_t,
174-
stream: *mut FILE) -> size_t;
175-
pub fn fseek(stream: *mut FILE, offset: c_long, whence: c_int) -> c_int;
176-
pub fn ftell(stream: *mut FILE) -> c_long;
129+
pub fn setvbuf(stream: *mut FILE, buffer: *mut ::c_char, mode: ::c_int,
130+
size: ::size_t) -> ::c_int;
131+
pub fn setbuf(stream: *mut FILE, buf: *mut ::c_char);
132+
pub fn getchar() -> ::c_int;
133+
pub fn putchar(c: ::c_int) -> ::c_int;
134+
pub fn fgetc(stream: *mut FILE) -> ::c_int;
135+
pub fn fgets(buf: *mut ::c_char, n: ::c_int, stream: *mut FILE) -> *mut ::c_char;
136+
pub fn fputc(c: ::c_int, stream: *mut FILE) -> ::c_int;
137+
pub fn fputs(s: *const ::c_char, stream: *mut FILE) -> ::c_int;
138+
pub fn puts(s: *const ::c_char) -> ::c_int;
139+
pub fn ungetc(c: ::c_int, stream: *mut FILE) -> ::c_int;
140+
pub fn fread(ptr: *mut ::c_void, size: ::size_t, nobj: ::size_t,
141+
stream: *mut FILE) -> ::size_t;
142+
pub fn fwrite(ptr: *const ::c_void, size: ::size_t, nobj: ::size_t,
143+
stream: *mut FILE) -> ::size_t;
144+
pub fn fseek(stream: *mut FILE, offset: ::c_long, whence: ::c_int) -> ::c_int;
145+
pub fn ftell(stream: *mut FILE) -> ::c_long;
177146
pub fn rewind(stream: *mut FILE);
178-
pub fn fgetpos(stream: *mut FILE, ptr: *mut fpos_t) -> c_int;
179-
pub fn fsetpos(stream: *mut FILE, ptr: *const fpos_t) -> c_int;
180-
pub fn feof(stream: *mut FILE) -> c_int;
181-
pub fn ferror(stream: *mut FILE) -> c_int;
182-
pub fn perror(s: *const c_char);
183-
pub fn atoi(s: *const c_char) -> c_int;
184-
pub fn strtod(s: *const c_char, endp: *mut *mut c_char) -> c_double;
185-
pub fn strtol(s: *const c_char, endp: *mut *mut c_char,
186-
base: c_int) -> c_long;
187-
pub fn strtoul(s: *const c_char, endp: *mut *mut c_char,
188-
base: c_int) -> c_ulong;
189-
pub fn calloc(nobj: size_t, size: size_t) -> *mut c_void;
190-
pub fn malloc(size: size_t) -> *mut c_void;
191-
pub fn realloc(p: *mut c_void, size: size_t) -> *mut c_void;
192-
pub fn free(p: *mut c_void);
147+
pub fn fgetpos(stream: *mut FILE, ptr: *mut fpos_t) -> ::c_int;
148+
pub fn fsetpos(stream: *mut FILE, ptr: *const fpos_t) -> ::c_int;
149+
pub fn feof(stream: *mut FILE) -> ::c_int;
150+
pub fn ferror(stream: *mut FILE) -> ::c_int;
151+
pub fn perror(s: *const ::c_char);
152+
pub fn atoi(s: *const ::c_char) -> ::c_int;
153+
pub fn strtod(s: *const ::c_char, endp: *mut *mut ::c_char) -> ::c_double;
154+
pub fn strtol(s: *const ::c_char, endp: *mut *mut ::c_char,
155+
base: ::c_int) -> ::c_long;
156+
pub fn strtoul(s: *const ::c_char, endp: *mut *mut ::c_char,
157+
base: ::c_int) -> ::c_ulong;
158+
pub fn calloc(nobj: ::size_t, size: ::size_t) -> *mut ::c_void;
159+
pub fn malloc(size: ::size_t) -> *mut ::c_void;
160+
pub fn realloc(p: *mut ::c_void, size: ::size_t) -> *mut ::c_void;
161+
pub fn free(p: *mut ::c_void);
193162
pub fn abort() -> !;
194-
pub fn exit(status: c_int) -> !;
195-
pub fn _exit(status: c_int) -> !;
196-
pub fn atexit(cb: extern fn()) -> c_int;
197-
pub fn system(s: *const c_char) -> c_int;
198-
pub fn getenv(s: *const c_char) -> *mut c_char;
199-
pub fn getline (lineptr: *mut *mut c_char, n: *mut size_t,
200-
stream: *mut FILE) -> ssize_t;
163+
pub fn exit(status: ::c_int) -> !;
164+
pub fn _exit(status: ::c_int) -> !;
165+
pub fn atexit(cb: extern fn()) -> ::c_int;
166+
pub fn system(s: *const ::c_char) -> ::c_int;
167+
pub fn getenv(s: *const ::c_char) -> *mut ::c_char;
168+
pub fn getline (lineptr: *mut *mut ::c_char, n: *mut ::size_t,
169+
stream: *mut FILE) -> ::ssize_t;
201170

202-
pub fn strcpy(dst: *mut c_char, src: *const c_char) -> *mut c_char;
203-
pub fn strncpy(dst: *mut c_char, src: *const c_char,
204-
n: size_t) -> *mut c_char;
205-
pub fn strcat(s: *mut c_char, ct: *const c_char) -> *mut c_char;
206-
pub fn strncat(s: *mut c_char, ct: *const c_char, n: size_t) -> *mut c_char;
207-
pub fn strcmp(cs: *const c_char, ct: *const c_char) -> c_int;
208-
pub fn strncmp(cs: *const c_char, ct: *const c_char, n: size_t) -> c_int;
209-
pub fn strcoll(cs: *const c_char, ct: *const c_char) -> c_int;
210-
pub fn strchr(cs: *const c_char, c: c_int) -> *mut c_char;
211-
pub fn strrchr(cs: *const c_char, c: c_int) -> *mut c_char;
212-
pub fn strspn(cs: *const c_char, ct: *const c_char) -> size_t;
213-
pub fn strcspn(cs: *const c_char, ct: *const c_char) -> size_t;
214-
pub fn strdup(cs: *const c_char) -> *mut c_char;
215-
pub fn strpbrk(cs: *const c_char, ct: *const c_char) -> *mut c_char;
216-
pub fn strstr(cs: *const c_char, ct: *const c_char) -> *mut c_char;
217-
pub fn strcasecmp(s1: *const c_char, s2: *const c_char) -> c_int;
218-
pub fn strncasecmp(s1: *const c_char, s2: *const c_char,
219-
n: size_t) -> c_int;
220-
pub fn strlen(cs: *const c_char) -> size_t;
221-
pub fn strnlen(cs: *const c_char, maxlen: size_t) -> size_t;
222-
pub fn strerror(n: c_int) -> *mut c_char;
223-
pub fn strtok(s: *mut c_char, t: *const c_char) -> *mut c_char;
224-
pub fn strxfrm(s: *mut c_char, ct: *const c_char, n: size_t) -> size_t;
225-
pub fn wcslen(buf: *const wchar_t) -> size_t;
226-
pub fn wcstombs(dest: *mut c_char, src: *const wchar_t,
227-
n: size_t) -> ::size_t;
171+
pub fn strcpy(dst: *mut ::c_char, src: *const ::c_char) -> *mut ::c_char;
172+
pub fn strncpy(dst: *mut ::c_char, src: *const ::c_char,
173+
n: ::size_t) -> *mut ::c_char;
174+
pub fn strcat(s: *mut ::c_char, ct: *const ::c_char) -> *mut ::c_char;
175+
pub fn strncat(s: *mut ::c_char, ct: *const ::c_char, n: ::size_t) -> *mut ::c_char;
176+
pub fn strcmp(cs: *const ::c_char, ct: *const ::c_char) -> ::c_int;
177+
pub fn strncmp(cs: *const ::c_char, ct: *const ::c_char, n: ::size_t) -> ::c_int;
178+
pub fn strcoll(cs: *const ::c_char, ct: *const ::c_char) -> ::c_int;
179+
pub fn strchr(cs: *const ::c_char, c: ::c_int) -> *mut ::c_char;
180+
pub fn strrchr(cs: *const ::c_char, c: ::c_int) -> *mut ::c_char;
181+
pub fn strspn(cs: *const ::c_char, ct: *const ::c_char) -> ::size_t;
182+
pub fn strcspn(cs: *const ::c_char, ct: *const ::c_char) -> ::size_t;
183+
pub fn strdup(cs: *const ::c_char) -> *mut ::c_char;
184+
pub fn strpbrk(cs: *const ::c_char, ct: *const ::c_char) -> *mut ::c_char;
185+
pub fn strstr(cs: *const ::c_char, ct: *const ::c_char) -> *mut ::c_char;
186+
pub fn strcasecmp(s1: *const ::c_char, s2: *const ::c_char) -> ::c_int;
187+
pub fn strncasecmp(s1: *const ::c_char, s2: *const ::c_char,
188+
n: ::size_t) -> ::c_int;
189+
pub fn strlen(cs: *const ::c_char) -> ::size_t;
190+
pub fn strnlen(cs: *const ::c_char, maxlen: ::size_t) -> ::size_t;
191+
pub fn strerror(n: ::c_int) -> *mut ::c_char;
192+
pub fn strtok(s: *mut ::c_char, t: *const ::c_char) -> *mut ::c_char;
193+
pub fn strxfrm(s: *mut ::c_char, ct: *const ::c_char, n: ::size_t) -> ::size_t;
194+
pub fn wcslen(buf: *const wchar_t) -> ::size_t;
195+
pub fn wcstombs(dest: *mut ::c_char, src: *const wchar_t,
196+
n: ::size_t) -> ::size_t;
228197

229-
pub fn memchr(cx: *const c_void, c: c_int, n: size_t) -> *mut c_void;
230-
pub fn memcmp(cx: *const c_void, ct: *const c_void, n: size_t) -> c_int;
231-
pub fn memcpy(dest: *mut c_void, src: *const c_void,
232-
n: size_t) -> *mut c_void;
233-
pub fn memmove(dest: *mut c_void, src: *const c_void,
234-
n: size_t) -> *mut c_void;
235-
pub fn memset(dest: *mut c_void, c: c_int, n: size_t) -> *mut c_void;
198+
pub fn memchr(cx: *const ::c_void, c: ::c_int, n: ::size_t) -> *mut ::c_void;
199+
pub fn memcmp(cx: *const ::c_void, ct: *const ::c_void, n: ::size_t) -> ::c_int;
200+
pub fn memcpy(dest: *mut ::c_void, src: *const ::c_void,
201+
n: ::size_t) -> *mut ::c_void;
202+
pub fn memmove(dest: *mut ::c_void, src: *const ::c_void,
203+
n: ::size_t) -> *mut ::c_void;
204+
pub fn memset(dest: *mut ::c_void, c: ::c_int, n: ::size_t) -> *mut ::c_void;
236205

237-
pub fn abs(i: c_int) -> c_int;
238-
pub fn atof(s: *const c_char) -> c_double;
239-
pub fn labs(i: c_long) -> c_long;
240-
pub fn rand() -> c_int;
241-
pub fn srand(seed: c_uint);
206+
pub fn abs(i: ::c_int) -> ::c_int;
207+
pub fn atof(s: *const ::c_char) -> ::c_double;
208+
pub fn labs(i: ::c_long) -> ::c_long;
209+
pub fn rand() -> ::c_int;
210+
pub fn srand(seed: ::c_uint);
242211

243212
pub fn arc4random_buf(buf: *const ::c_void, len: ::size_t);
244213
pub fn freeaddrinfo(res: *mut addrinfo);
245214
pub fn gai_strerror(errcode: ::c_int) -> *const ::c_char;
246215
pub fn getaddrinfo(
247-
node: *const c_char,
248-
service: *const c_char,
216+
node: *const ::c_char,
217+
service: *const ::c_char,
249218
hints: *const addrinfo,
250219
res: *mut *mut addrinfo,
251220
) -> ::c_int;
@@ -314,22 +283,3 @@ cfg_if! {
314283
// Unknown target_arch
315284
}
316285
}
317-
318-
cfg_if! {
319-
if #[cfg(core_cvoid)] {
320-
pub use core::ffi::c_void;
321-
} else {
322-
// Use repr(u8) as LLVM expects `void*` to be the same as `i8*` to help
323-
// enable more optimization opportunities around it recognizing things
324-
// like malloc/free.
325-
#[repr(u8)]
326-
#[allow(missing_copy_implementations)]
327-
pub enum c_void {
328-
// Two dummy variants so the #[repr] attribute can be used.
329-
#[doc(hidden)]
330-
__variant1,
331-
#[doc(hidden)]
332-
__variant2,
333-
}
334-
}
335-
}

0 commit comments

Comments
 (0)