pub mod ctype {
use libc::types::os::arch::c95::{c_char, c_int};
- pub extern {
- unsafe fn isalnum(c: c_int) -> c_int;
- unsafe fn isalpha(c: c_int) -> c_int;
- unsafe fn iscntrl(c: c_int) -> c_int;
- unsafe fn isdigit(c: c_int) -> c_int;
- unsafe fn isgraph(c: c_int) -> c_int;
- unsafe fn islower(c: c_int) -> c_int;
- unsafe fn isprint(c: c_int) -> c_int;
- unsafe fn ispunct(c: c_int) -> c_int;
- unsafe fn isspace(c: c_int) -> c_int;
- unsafe fn isupper(c: c_int) -> c_int;
- unsafe fn isxdigit(c: c_int) -> c_int;
- unsafe fn tolower(c: c_char) -> c_char;
- unsafe fn toupper(c: c_char) -> c_char;
+ extern {
+ pub unsafe fn isalnum(c: c_int) -> c_int;
+ pub unsafe fn isalpha(c: c_int) -> c_int;
+ pub unsafe fn iscntrl(c: c_int) -> c_int;
+ pub unsafe fn isdigit(c: c_int) -> c_int;
+ pub unsafe fn isgraph(c: c_int) -> c_int;
+ pub unsafe fn islower(c: c_int) -> c_int;
+ pub unsafe fn isprint(c: c_int) -> c_int;
+ pub unsafe fn ispunct(c: c_int) -> c_int;
+ pub unsafe fn isspace(c: c_int) -> c_int;
+ pub unsafe fn isupper(c: c_int) -> c_int;
+ pub unsafe fn isxdigit(c: c_int) -> c_int;
+ pub unsafe fn tolower(c: c_char) -> c_char;
+ pub unsafe fn toupper(c: c_char) -> c_char;
}
}
use libc::types::common::c95::{FILE, c_void, fpos_t};
use libc::types::os::arch::c95::{c_char, c_int, c_long, size_t};
- pub extern {
- unsafe fn fopen(filename: *c_char, mode: *c_char) -> *FILE;
- unsafe fn freopen(filename: *c_char, mode: *c_char,
- file: *FILE) -> *FILE;
- unsafe fn fflush(file: *FILE) -> c_int;
- unsafe fn fclose(file: *FILE) -> c_int;
- unsafe fn remove(filename: *c_char) -> c_int;
- unsafe fn rename(oldname: *c_char, newname: *c_char) -> c_int;
- unsafe fn tmpfile() -> *FILE;
- unsafe fn setvbuf(stream: *FILE, buffer: *c_char,
- mode: c_int, size: size_t) -> c_int;
- unsafe fn setbuf(stream: *FILE, buf: *c_char);
+ extern {
+ pub unsafe fn fopen(filename: *c_char, mode: *c_char)
+ -> *FILE;
+ pub unsafe fn freopen(filename: *c_char,
+ mode: *c_char,
+ file: *FILE)
+ -> *FILE;
+ pub unsafe fn fflush(file: *FILE) -> c_int;
+ pub unsafe fn fclose(file: *FILE) -> c_int;
+ pub unsafe fn remove(filename: *c_char) -> c_int;
+ pub unsafe fn rename(oldname: *c_char, newname: *c_char)
+ -> c_int;
+ pub unsafe fn tmpfile() -> *FILE;
+ pub unsafe fn setvbuf(stream: *FILE,
+ buffer: *c_char,
+ mode: c_int,
+ size: size_t)
+ -> c_int;
+ pub unsafe fn setbuf(stream: *FILE, buf: *c_char);
// Omitted: printf and scanf variants.
- unsafe fn fgetc(stream: *FILE) -> c_int;
+ pub unsafe fn fgetc(stream: *FILE) -> c_int;
#[fast_ffi]
- unsafe fn fgets(buf: *mut c_char, n: c_int,
- stream: *FILE) -> *c_char;
+ pub unsafe fn fgets(buf: *mut c_char,
+ n: c_int,
+ stream: *FILE)
+ -> *c_char;
#[fast_ffi]
- unsafe fn fputc(c: c_int, stream: *FILE) -> c_int;
+ pub unsafe fn fputc(c: c_int, stream: *FILE) -> c_int;
#[fast_ffi]
- unsafe fn fputs(s: *c_char, stream: *FILE) -> *c_char;
+ pub unsafe fn fputs(s: *c_char, stream: *FILE) -> *c_char;
// Omitted: getc, getchar (might be macros).
// Omitted: gets, so ridiculously unsafe that it should not
// survive.
// Omitted: putc, putchar (might be macros).
- unsafe fn puts(s: *c_char) -> c_int;
- unsafe fn ungetc(c: c_int, stream: *FILE) -> c_int;
+ pub unsafe fn puts(s: *c_char) -> c_int;
+ pub unsafe fn ungetc(c: c_int, stream: *FILE) -> c_int;
#[fast_ffi]
- unsafe fn fread(ptr: *mut c_void, size: size_t,
- nobj: size_t, stream: *FILE) -> size_t;
+ pub unsafe fn fread(ptr: *mut c_void,
+ size: size_t,
+ nobj: size_t,
+ stream: *FILE)
+ -> size_t;
#[fast_ffi]
- unsafe fn fwrite(ptr: *c_void, size: size_t,
- nobj: size_t, stream: *FILE) -> size_t;
- unsafe fn fseek(stream: *FILE, offset: c_long,
- whence: c_int) -> c_int;
- unsafe fn ftell(stream: *FILE) -> c_long;
- unsafe fn rewind(stream: *FILE);
- unsafe fn fgetpos(stream: *FILE, ptr: *fpos_t) -> c_int;
- unsafe fn fsetpos(stream: *FILE, ptr: *fpos_t) -> c_int;
- unsafe fn feof(stream: *FILE) -> c_int;
- unsafe fn ferror(stream: *FILE) -> c_int;
- unsafe fn perror(s: *c_char);
+ pub unsafe fn fwrite(ptr: *c_void,
+ size: size_t,
+ nobj: size_t,
+ stream: *FILE)
+ -> size_t;
+ pub unsafe fn fseek(stream: *FILE,
+ offset: c_long,
+ whence: c_int)
+ -> c_int;
+ pub unsafe fn ftell(stream: *FILE) -> c_long;
+ pub unsafe fn rewind(stream: *FILE);
+ pub unsafe fn fgetpos(stream: *FILE, ptr: *fpos_t) -> c_int;
+ pub unsafe fn fsetpos(stream: *FILE, ptr: *fpos_t) -> c_int;
+ pub unsafe fn feof(stream: *FILE) -> c_int;
+ pub unsafe fn ferror(stream: *FILE) -> c_int;
+ pub unsafe fn perror(s: *c_char);
}
}
use libc::types::os::arch::c95::{c_long, c_uint, c_ulong};
use libc::types::os::arch::c95::{size_t};
- pub extern {
- unsafe fn abs(i: c_int) -> c_int;
- unsafe fn labs(i: c_long) -> c_long;
+ extern {
+ pub unsafe fn abs(i: c_int) -> c_int;
+ pub unsafe fn labs(i: c_long) -> c_long;
// Omitted: div, ldiv (return pub type incomplete).
- unsafe fn atof(s: *c_char) -> c_double;
- unsafe fn atoi(s: *c_char) -> c_int;
- unsafe fn strtod(s: *c_char, endp: **c_char) -> c_double;
- unsafe fn strtol(s: *c_char, endp: **c_char, base: c_int)
- -> c_long;
- unsafe fn strtoul(s: *c_char, endp: **c_char, base: c_int)
- -> c_ulong;
+ pub unsafe fn atof(s: *c_char) -> c_double;
+ pub unsafe fn atoi(s: *c_char) -> c_int;
+ pub unsafe fn strtod(s: *c_char, endp: **c_char) -> c_double;
+ pub unsafe fn strtol(s: *c_char, endp: **c_char, base: c_int)
+ -> c_long;
+ pub unsafe fn strtoul(s: *c_char, endp: **c_char, base: c_int)
+ -> c_ulong;
#[fast_ffi]
- unsafe fn calloc(nobj: size_t, size: size_t) -> *c_void;
+ pub unsafe fn calloc(nobj: size_t, size: size_t) -> *c_void;
#[fast_ffi]
- unsafe fn malloc(size: size_t) -> *c_void;
+ pub unsafe fn malloc(size: size_t) -> *c_void;
#[fast_ffi]
- unsafe fn realloc(p: *mut c_void, size: size_t) -> *mut c_void;
+ pub unsafe fn realloc(p: *mut c_void, size: size_t)
+ -> *mut c_void;
#[fast_ffi]
- unsafe fn free(p: *c_void);
- unsafe fn abort() -> !;
- unsafe fn exit(status: c_int) -> !;
+ pub unsafe fn free(p: *c_void);
+ pub unsafe fn abort() -> !;
+ pub unsafe fn exit(status: c_int) -> !;
// Omitted: atexit.
- unsafe fn system(s: *c_char) -> c_int;
- unsafe fn getenv(s: *c_char) -> *c_char;
+ pub unsafe fn system(s: *c_char) -> c_int;
+ pub unsafe fn getenv(s: *c_char) -> *c_char;
// Omitted: bsearch, qsort
- unsafe fn rand() -> c_int;
- unsafe fn srand(seed: c_uint);
+ pub unsafe fn rand() -> c_int;
+ pub unsafe fn srand(seed: c_uint);
}
}
use libc::types::os::arch::c95::{c_char, c_int, size_t};
use libc::types::os::arch::c95::{wchar_t};
- pub extern {
- unsafe fn strcpy(dst: *c_char, src: *c_char) -> *c_char;
- unsafe fn strncpy(dst: *c_char, src: *c_char, n: size_t)
- -> *c_char;
- unsafe fn strcat(s: *c_char, ct: *c_char) -> *c_char;
- unsafe fn strncat(s: *c_char, ct: *c_char, n: size_t)
- -> *c_char;
- unsafe fn strcmp(cs: *c_char, ct: *c_char) -> c_int;
- unsafe fn strncmp(cs: *c_char, ct: *c_char, n: size_t)
- -> c_int;
- unsafe fn strcoll(cs: *c_char, ct: *c_char) -> c_int;
- unsafe fn strchr(cs: *c_char, c: c_int) -> *c_char;
- unsafe fn strrchr(cs: *c_char, c: c_int) -> *c_char;
- unsafe fn strspn(cs: *c_char, ct: *c_char) -> size_t;
- unsafe fn strcspn(cs: *c_char, ct: *c_char) -> size_t;
- unsafe fn strpbrk(cs: *c_char, ct: *c_char) -> *c_char;
- unsafe fn strstr(cs: *c_char, ct: *c_char) -> *c_char;
- unsafe fn strlen(cs: *c_char) -> size_t;
- unsafe fn strerror(n: c_int) -> *c_char;
- unsafe fn strtok(s: *c_char, t: *c_char) -> *c_char;
- unsafe fn strxfrm(s: *c_char, ct: *c_char, n: size_t)
- -> size_t;
- unsafe fn wcslen(buf: *wchar_t) -> size_t;
+ extern {
+ pub unsafe fn strcpy(dst: *c_char, src: *c_char) -> *c_char;
+ pub unsafe fn strncpy(dst: *c_char, src: *c_char, n: size_t)
+ -> *c_char;
+ pub unsafe fn strcat(s: *c_char, ct: *c_char) -> *c_char;
+ pub unsafe fn strncat(s: *c_char, ct: *c_char, n: size_t)
+ -> *c_char;
+ pub unsafe fn strcmp(cs: *c_char, ct: *c_char) -> c_int;
+ pub unsafe fn strncmp(cs: *c_char, ct: *c_char, n: size_t)
+ -> c_int;
+ pub unsafe fn strcoll(cs: *c_char, ct: *c_char) -> c_int;
+ pub unsafe fn strchr(cs: *c_char, c: c_int) -> *c_char;
+ pub unsafe fn strrchr(cs: *c_char, c: c_int) -> *c_char;
+ pub unsafe fn strspn(cs: *c_char, ct: *c_char) -> size_t;
+ pub unsafe fn strcspn(cs: *c_char, ct: *c_char) -> size_t;
+ pub unsafe fn strpbrk(cs: *c_char, ct: *c_char) -> *c_char;
+ pub unsafe fn strstr(cs: *c_char, ct: *c_char) -> *c_char;
+ pub unsafe fn strlen(cs: *c_char) -> size_t;
+ pub unsafe fn strerror(n: c_int) -> *c_char;
+ pub unsafe fn strtok(s: *c_char, t: *c_char) -> *c_char;
+ pub unsafe fn strxfrm(s: *c_char, ct: *c_char, n: size_t)
+ -> size_t;
+ pub unsafe fn wcslen(buf: *wchar_t) -> size_t;
// Omitted: memcpy, memmove, memset (provided by LLVM)
// in fact, because LLVM generates calls to them!
#[rust_stack]
#[inline]
- unsafe fn memcmp(cx: *c_void, ct: *c_void, n: size_t)
- -> c_int;
+ pub unsafe fn memcmp(cx: *c_void, ct: *c_void, n: size_t)
+ -> c_int;
#[rust_stack]
#[inline]
- unsafe fn memchr(cx: *c_void, c: c_int, n: size_t) -> *c_void;
+ pub unsafe fn memchr(cx: *c_void, c: c_int, n: size_t)
+ -> *c_void;
}
}
}
use libc::types::os::common::posix01::stat;
use libc::types::os::arch::c95::{c_int, c_char};
- pub extern {
+ extern {
#[link_name = "_chmod"]
- unsafe fn chmod(path: *c_char, mode: c_int) -> c_int;
+ pub unsafe fn chmod(path: *c_char, mode: c_int) -> c_int;
#[link_name = "_mkdir"]
- unsafe fn mkdir(path: *c_char) -> c_int;
+ pub unsafe fn mkdir(path: *c_char) -> c_int;
#[link_name = "_fstat64"]
- unsafe fn fstat(fildes: c_int, buf: *mut stat) -> c_int;
+ pub unsafe fn fstat(fildes: c_int, buf: *mut stat) -> c_int;
#[link_name = "_stat64"]
- unsafe fn stat(path: *c_char, buf: *mut stat) -> c_int;
+ pub unsafe fn stat(path: *c_char, buf: *mut stat) -> c_int;
}
}
use libc::types::common::c95::FILE;
use libc::types::os::arch::c95::{c_int, c_char};
- pub extern {
+ extern {
#[link_name = "_popen"]
- unsafe fn popen(command: *c_char, mode: *c_char) -> *FILE;
+ pub unsafe fn popen(command: *c_char, mode: *c_char) -> *FILE;
#[link_name = "_pclose"]
- unsafe fn pclose(stream: *FILE) -> c_int;
+ pub unsafe fn pclose(stream: *FILE) -> c_int;
#[link_name = "_fdopen"]
#[fast_ffi]
- unsafe fn fdopen(fd: c_int, mode: *c_char) -> *FILE;
+ pub unsafe fn fdopen(fd: c_int, mode: *c_char) -> *FILE;
#[link_name = "_fileno"]
- unsafe fn fileno(stream: *FILE) -> c_int;
+ pub unsafe fn fileno(stream: *FILE) -> c_int;
}
}
#[abi = "cdecl"]
pub mod fcntl {
use libc::types::os::arch::c95::{c_int, c_char};
- pub extern {
+ extern {
#[link_name = "_open"]
- unsafe fn open(path: *c_char, oflag: c_int, mode: c_int)
- -> c_int;
+ pub unsafe fn open(path: *c_char, oflag: c_int, mode: c_int)
+ -> c_int;
#[link_name = "_creat"]
- unsafe fn creat(path: *c_char, mode: c_int) -> c_int;
+ pub unsafe fn creat(path: *c_char, mode: c_int) -> c_int;
}
}
c_long, size_t};
use libc::types::os::arch::c99::intptr_t;
- pub extern {
+ extern {
#[link_name = "_access"]
- unsafe fn access(path: *c_char, amode: c_int) -> c_int;
+ pub unsafe fn access(path: *c_char, amode: c_int) -> c_int;
#[link_name = "_chdir"]
- unsafe fn chdir(dir: *c_char) -> c_int;
+ pub unsafe fn chdir(dir: *c_char) -> c_int;
#[link_name = "_close"]
- unsafe fn close(fd: c_int) -> c_int;
+ pub unsafe fn close(fd: c_int) -> c_int;
#[link_name = "_dup"]
- unsafe fn dup(fd: c_int) -> c_int;
+ pub unsafe fn dup(fd: c_int) -> c_int;
#[link_name = "_dup2"]
- unsafe fn dup2(src: c_int, dst: c_int) -> c_int;
+ pub unsafe fn dup2(src: c_int, dst: c_int) -> c_int;
#[link_name = "_execv"]
- unsafe fn execv(prog: *c_char, argv: **c_char) -> intptr_t;
+ pub unsafe fn execv(prog: *c_char, argv: **c_char)
+ -> intptr_t;
#[link_name = "_execve"]
- unsafe fn execve(prog: *c_char, argv: **c_char,
- envp: **c_char) -> c_int;
+ pub unsafe fn execve(prog: *c_char,
+ argv: **c_char,
+ envp: **c_char)
+ -> c_int;
#[link_name = "_execvp"]
- unsafe fn execvp(c: *c_char, argv: **c_char) -> c_int;
+ pub unsafe fn execvp(c: *c_char, argv: **c_char) -> c_int;
#[link_name = "_execvpe"]
- unsafe fn execvpe(c: *c_char, argv: **c_char,
- envp: **c_char) -> c_int;
+ pub unsafe fn execvpe(c: *c_char,
+ argv: **c_char,
+ envp: **c_char)
+ -> c_int;
#[link_name = "_getcwd"]
- unsafe fn getcwd(buf: *c_char, size: size_t) -> *c_char;
+ pub unsafe fn getcwd(buf: *c_char, size: size_t) -> *c_char;
#[link_name = "_getpid"]
- unsafe fn getpid() -> c_int;
+ pub unsafe fn getpid() -> c_int;
#[link_name = "_isatty"]
- unsafe fn isatty(fd: c_int) -> c_int;
+ pub unsafe fn isatty(fd: c_int) -> c_int;
#[link_name = "_lseek"]
- unsafe fn lseek(fd: c_int, offset: c_long, origin: c_int)
- -> c_long;
+ pub unsafe fn lseek(fd: c_int, offset: c_long, origin: c_int)
+ -> c_long;
#[link_name = "_pipe"]
- unsafe fn pipe(fds: *mut c_int, psize: c_uint,
- textmode: c_int) -> c_int;
+ pub unsafe fn pipe(fds: *mut c_int,
+ psize: c_uint,
+ textmode: c_int)
+ -> c_int;
#[link_name = "_read"]
#[fast_ffi]
- unsafe fn read(fd: c_int, buf: *mut c_void, count: c_uint)
- -> c_int;
+ pub unsafe fn read(fd: c_int, buf: *mut c_void, count: c_uint)
+ -> c_int;
#[link_name = "_rmdir"]
- unsafe fn rmdir(path: *c_char) -> c_int;
+ pub unsafe fn rmdir(path: *c_char) -> c_int;
#[link_name = "_unlink"]
- unsafe fn unlink(c: *c_char) -> c_int;
+ pub unsafe fn unlink(c: *c_char) -> c_int;
#[link_name = "_write"]
#[fast_ffi]
- unsafe fn write(fd: c_int, buf: *c_void, count: c_uint)
- -> c_int;
+ pub unsafe fn write(fd: c_int, buf: *c_void, count: c_uint)
+ -> c_int;
}
}
#[nolink]
#[abi = "cdecl"]
- pub extern {
- unsafe fn chmod(path: *c_char, mode: mode_t) -> c_int;
- unsafe fn fchmod(fd: c_int, mode: mode_t) -> c_int;
+ extern {
+ pub unsafe fn chmod(path: *c_char, mode: mode_t) -> c_int;
+ pub unsafe fn fchmod(fd: c_int, mode: mode_t) -> c_int;
#[cfg(target_os = "linux")]
#[cfg(target_os = "freebsd")]
#[cfg(target_os = "android")]
- unsafe fn fstat(fildes: c_int, buf: *mut stat) -> c_int;
+ pub unsafe fn fstat(fildes: c_int, buf: *mut stat) -> c_int;
#[cfg(target_os = "macos")]
#[link_name = "fstat64"]
- unsafe fn fstat(fildes: c_int, buf: *mut stat) -> c_int;
+ pub unsafe fn fstat(fildes: c_int, buf: *mut stat) -> c_int;
- unsafe fn mkdir(path: *c_char, mode: mode_t) -> c_int;
- unsafe fn mkfifo(path: *c_char, mode: mode_t) -> c_int;
+ pub unsafe fn mkdir(path: *c_char, mode: mode_t) -> c_int;
+ pub unsafe fn mkfifo(path: *c_char, mode: mode_t) -> c_int;
#[cfg(target_os = "linux")]
#[cfg(target_os = "freebsd")]
#[cfg(target_os = "android")]
- unsafe fn stat(path: *c_char, buf: *mut stat) -> c_int;
+ pub unsafe fn stat(path: *c_char, buf: *mut stat) -> c_int;
#[cfg(target_os = "macos")]
#[link_name = "stat64"]
- unsafe fn stat(path: *c_char, buf: *mut stat) -> c_int;
+ pub unsafe fn stat(path: *c_char, buf: *mut stat) -> c_int;
}
}
use libc::types::common::c95::FILE;
use libc::types::os::arch::c95::{c_char, c_int};
- pub extern {
- unsafe fn popen(command: *c_char, mode: *c_char) -> *FILE;
- unsafe fn pclose(stream: *FILE) -> c_int;
- unsafe fn fdopen(fd: c_int, mode: *c_char) -> *FILE;
- unsafe fn fileno(stream: *FILE) -> c_int;
+ extern {
+ pub unsafe fn popen(command: *c_char, mode: *c_char) -> *FILE;
+ pub unsafe fn pclose(stream: *FILE) -> c_int;
+ pub unsafe fn fdopen(fd: c_int, mode: *c_char) -> *FILE;
+ pub unsafe fn fileno(stream: *FILE) -> c_int;
}
}
use libc::types::os::arch::c95::{c_char, c_int};
use libc::types::os::arch::posix88::mode_t;
- pub extern {
- unsafe fn open(path: *c_char, oflag: c_int, mode: c_int)
- -> c_int;
- unsafe fn creat(path: *c_char, mode: mode_t) -> c_int;
- unsafe fn fcntl(fd: c_int, cmd: c_int) -> c_int;
+ extern {
+ pub unsafe fn open(path: *c_char, oflag: c_int, mode: c_int)
+ -> c_int;
+ pub unsafe fn creat(path: *c_char, mode: mode_t) -> c_int;
+ pub unsafe fn fcntl(fd: c_int, cmd: c_int) -> c_int;
}
}
unsafe fn rust_readdir(dirp: *DIR) -> *dirent_t;
}
- pub extern {
- unsafe fn closedir(dirp: *DIR) -> c_int;
- unsafe fn rewinddir(dirp: *DIR);
- unsafe fn seekdir(dirp: *DIR, loc: c_long);
- unsafe fn telldir(dirp: *DIR) -> c_long;
+ extern {
+ pub unsafe fn closedir(dirp: *DIR) -> c_int;
+ pub unsafe fn rewinddir(dirp: *DIR);
+ pub unsafe fn seekdir(dirp: *DIR, loc: c_long);
+ pub unsafe fn telldir(dirp: *DIR) -> c_long;
}
}
use libc::types::os::arch::posix88::{gid_t, off_t, pid_t};
use libc::types::os::arch::posix88::{ssize_t, uid_t};
- pub extern {
- unsafe fn access(path: *c_char, amode: c_int) -> c_int;
- unsafe fn alarm(seconds: c_uint) -> c_uint;
- unsafe fn chdir(dir: *c_char) -> c_int;
- unsafe fn chown(path: *c_char, uid: uid_t, gid: gid_t)
- -> c_int;
- unsafe fn close(fd: c_int) -> c_int;
- unsafe fn dup(fd: c_int) -> c_int;
- unsafe fn dup2(src: c_int, dst: c_int) -> c_int;
- unsafe fn execv(prog: *c_char, argv: **c_char) -> c_int;
- unsafe fn execve(prog: *c_char,
- argv: **c_char,
- envp: **c_char)
- -> c_int;
- unsafe fn execvp(c: *c_char, argv: **c_char) -> c_int;
- unsafe fn fork() -> pid_t;
- unsafe fn fpathconf(filedes: c_int, name: c_int) -> c_long;
- unsafe fn getcwd(buf: *c_char, size: size_t) -> *c_char;
- unsafe fn getegid() -> gid_t;
- unsafe fn geteuid() -> uid_t;
- unsafe fn getgid() -> gid_t ;
- unsafe fn getgroups(ngroups_max: c_int, groups: *mut gid_t)
- -> c_int;
- unsafe fn getlogin() -> *c_char;
- unsafe fn getopt(argc: c_int, argv: **c_char, optstr: *c_char)
- -> c_int;
- unsafe fn getpgrp() -> pid_t;
- unsafe fn getpid() -> pid_t;
- unsafe fn getppid() -> pid_t;
- unsafe fn getuid() -> uid_t;
- unsafe fn isatty(fd: c_int) -> c_int;
- unsafe fn link(src: *c_char, dst: *c_char) -> c_int;
- unsafe fn lseek(fd: c_int, offset: off_t, whence: c_int)
- -> off_t;
- unsafe fn pathconf(path: *c_char, name: c_int) -> c_long;
- unsafe fn pause() -> c_int;
- unsafe fn pipe(fds: *mut c_int) -> c_int;
+ extern {
+ pub unsafe fn access(path: *c_char, amode: c_int) -> c_int;
+ pub unsafe fn alarm(seconds: c_uint) -> c_uint;
+ pub unsafe fn chdir(dir: *c_char) -> c_int;
+ pub unsafe fn chown(path: *c_char, uid: uid_t, gid: gid_t)
+ -> c_int;
+ pub unsafe fn close(fd: c_int) -> c_int;
+ pub unsafe fn dup(fd: c_int) -> c_int;
+ pub unsafe fn dup2(src: c_int, dst: c_int) -> c_int;
+ pub unsafe fn execv(prog: *c_char, argv: **c_char) -> c_int;
+ pub unsafe fn execve(prog: *c_char,
+ argv: **c_char,
+ envp: **c_char)
+ -> c_int;
+ pub unsafe fn execvp(c: *c_char, argv: **c_char) -> c_int;
+ pub unsafe fn fork() -> pid_t;
+ pub unsafe fn fpathconf(filedes: c_int, name: c_int)
+ -> c_long;
+ pub unsafe fn getcwd(buf: *c_char, size: size_t) -> *c_char;
+ pub unsafe fn getegid() -> gid_t;
+ pub unsafe fn geteuid() -> uid_t;
+ pub unsafe fn getgid() -> gid_t ;
+ pub unsafe fn getgroups(ngroups_max: c_int,
+ groups: *mut gid_t)
+ -> c_int;
+ pub unsafe fn getlogin() -> *c_char;
+ pub unsafe fn getopt(argc: c_int,
+ argv: **c_char,
+ optstr: *c_char)
+ -> c_int;
+ pub unsafe fn getpgrp() -> pid_t;
+ pub unsafe fn getpid() -> pid_t;
+ pub unsafe fn getppid() -> pid_t;
+ pub unsafe fn getuid() -> uid_t;
+ pub unsafe fn isatty(fd: c_int) -> c_int;
+ pub unsafe fn link(src: *c_char, dst: *c_char) -> c_int;
+ pub unsafe fn lseek(fd: c_int, offset: off_t, whence: c_int)
+ -> off_t;
+ pub unsafe fn pathconf(path: *c_char, name: c_int) -> c_long;
+ pub unsafe fn pause() -> c_int;
+ pub unsafe fn pipe(fds: *mut c_int) -> c_int;
#[fast_ffi]
- unsafe fn read(fd: c_int, buf: *mut c_void,
- count: size_t) -> ssize_t;
- unsafe fn rmdir(path: *c_char) -> c_int;
- unsafe fn setgid(gid: gid_t) -> c_int;
- unsafe fn setpgid(pid: pid_t, pgid: pid_t) -> c_int;
- unsafe fn setsid() -> pid_t;
- unsafe fn setuid(uid: uid_t) -> c_int;
- unsafe fn sleep(secs: c_uint) -> c_uint;
- unsafe fn sysconf(name: c_int) -> c_long;
- unsafe fn tcgetpgrp(fd: c_int) -> pid_t;
- unsafe fn ttyname(fd: c_int) -> *c_char;
- unsafe fn unlink(c: *c_char) -> c_int;
+ pub unsafe fn read(fd: c_int, buf: *mut c_void, count: size_t)
+ -> ssize_t;
+ pub unsafe fn rmdir(path: *c_char) -> c_int;
+ pub unsafe fn setgid(gid: gid_t) -> c_int;
+ pub unsafe fn setpgid(pid: pid_t, pgid: pid_t) -> c_int;
+ pub unsafe fn setsid() -> pid_t;
+ pub unsafe fn setuid(uid: uid_t) -> c_int;
+ pub unsafe fn sleep(secs: c_uint) -> c_uint;
+ pub unsafe fn sysconf(name: c_int) -> c_long;
+ pub unsafe fn tcgetpgrp(fd: c_int) -> pid_t;
+ pub unsafe fn ttyname(fd: c_int) -> *c_char;
+ pub unsafe fn unlink(c: *c_char) -> c_int;
#[fast_ffi]
- unsafe fn write(fd: c_int, buf: *c_void, count: size_t)
- -> ssize_t;
+ pub unsafe fn write(fd: c_int, buf: *c_void, count: size_t)
+ -> ssize_t;
}
}
use libc::types::os::arch::c95::{c_int};
use libc::types::os::arch::posix88::{pid_t};
- pub extern {
- unsafe fn kill(pid: pid_t, sig: c_int) -> c_int;
+ extern {
+ pub unsafe fn kill(pid: pid_t, sig: c_int) -> c_int;
}
}
use libc::types::os::arch::c95::{size_t, c_int, c_char};
use libc::types::os::arch::posix88::{mode_t, off_t};
- pub extern {
- unsafe fn mlock(addr: *c_void, len: size_t) -> c_int;
- unsafe fn munlock(addr: *c_void, len: size_t) -> c_int;
- unsafe fn mlockall(flags: c_int) -> c_int;
- unsafe fn munlockall() -> c_int;
-
- unsafe fn mmap(addr: *c_void,
- len: size_t,
- prot: c_int,
- flags: c_int,
- fd: c_int,
- offset: off_t) -> *mut c_void;
- unsafe fn munmap(addr: *c_void, len: size_t) -> c_int;
-
- unsafe fn mprotect(addr: *c_void, len: size_t, prot: c_int)
- -> c_int;
-
- unsafe fn msync(addr: *c_void, len: size_t, flags: c_int)
- -> c_int;
- unsafe fn shm_open(name: *c_char, oflag: c_int, mode: mode_t)
- -> c_int;
- unsafe fn shm_unlink(name: *c_char) -> c_int;
+ extern {
+ pub unsafe fn mlock(addr: *c_void, len: size_t) -> c_int;
+ pub unsafe fn munlock(addr: *c_void, len: size_t) -> c_int;
+ pub unsafe fn mlockall(flags: c_int) -> c_int;
+ pub unsafe fn munlockall() -> c_int;
+
+ pub unsafe fn mmap(addr: *c_void,
+ len: size_t,
+ prot: c_int,
+ flags: c_int,
+ fd: c_int,
+ offset: off_t)
+ -> *mut c_void;
+ pub unsafe fn munmap(addr: *c_void, len: size_t) -> c_int;
+
+ pub unsafe fn mprotect(addr: *c_void,
+ len: size_t,
+ prot: c_int)
+ -> c_int;
+
+ pub unsafe fn msync(addr: *c_void, len: size_t, flags: c_int)
+ -> c_int;
+ pub unsafe fn shm_open(name: *c_char,
+ oflag: c_int,
+ mode: mode_t)
+ -> c_int;
+ pub unsafe fn shm_unlink(name: *c_char) -> c_int;
}
}
}
use libc::types::os::arch::c95::{c_char, c_int};
use libc::types::os::arch::posix01::stat;
- pub extern {
+ extern {
#[cfg(target_os = "linux")]
#[cfg(target_os = "freebsd")]
#[cfg(target_os = "android")]
- unsafe fn lstat(path: *c_char, buf: *mut stat) -> c_int;
+ pub unsafe fn lstat(path: *c_char, buf: *mut stat) -> c_int;
#[cfg(target_os = "macos")]
#[link_name = "lstat64"]
- unsafe fn lstat(path: *c_char, buf: *mut stat) -> c_int;
+ pub unsafe fn lstat(path: *c_char, buf: *mut stat) -> c_int;
}
}
use libc::types::os::arch::c95::{c_char, c_int, size_t};
use libc::types::os::arch::posix88::{ssize_t};
- pub extern {
- unsafe fn readlink(path: *c_char, buf: *mut c_char,
- bufsz: size_t) -> ssize_t;
+ extern {
+ pub unsafe fn readlink(path: *c_char,
+ buf: *mut c_char,
+ bufsz: size_t)
+ -> ssize_t;
- unsafe fn fsync(fd: c_int) -> c_int;
+ pub unsafe fn fsync(fd: c_int) -> c_int;
#[cfg(target_os = "linux")]
#[cfg(target_os = "android")]
- unsafe fn fdatasync(fd: c_int) -> c_int;
+ pub unsafe fn fdatasync(fd: c_int) -> c_int;
- unsafe fn setenv(name: *c_char, val: *c_char,
- overwrite: c_int) -> c_int;
- unsafe fn unsetenv(name: *c_char) -> c_int;
- unsafe fn putenv(string: *c_char) -> c_int;
+ pub unsafe fn setenv(name: *c_char,
+ val: *c_char,
+ overwrite: c_int)
+ -> c_int;
+ pub unsafe fn unsetenv(name: *c_char) -> c_int;
+ pub unsafe fn putenv(string: *c_char) -> c_int;
- unsafe fn symlink(path1: *c_char, path2: *c_char) -> c_int;
+ pub unsafe fn symlink(path1: *c_char, path2: *c_char)
+ -> c_int;
}
}
use libc::types::os::arch::c95::{c_int};
use libc::types::os::arch::posix88::{pid_t};
- pub extern {
- unsafe fn waitpid(pid: pid_t,
- status: *mut c_int,
- options: c_int)
- -> pid_t;
+ extern {
+ pub unsafe fn waitpid(pid: pid_t,
+ status: *mut c_int,
+ options: c_int)
+ -> pid_t;
}
}
use libc::types::os::arch::c95::{c_char, c_int};
use libc::types::os::common::posix01::{glob_t};
- pub extern {
- unsafe fn glob(pattern: *c_char, flags: c_int,
- errfunc: *c_void, // XXX callback
- pglob: *mut glob_t);
- unsafe fn globfree(pglob: *mut glob_t);
+ extern {
+ pub unsafe fn glob(pattern: *c_char,
+ flags: c_int,
+ errfunc: *c_void, // XXX callback
+ pglob: *mut glob_t);
+ pub unsafe fn globfree(pglob: *mut glob_t);
}
}
use libc::types::common::c95::{c_void};
use libc::types::os::arch::c95::{c_int, size_t};
- pub extern {
- unsafe fn posix_madvise(addr: *c_void,
- len: size_t,
- advice: c_int) -> c_int;
+ extern {
+ pub unsafe fn posix_madvise(addr: *c_void,
+ len: size_t,
+ advice: c_int)
+ -> c_int;
}
}
}
size_t};
#[abi = "cdecl"]
- pub extern {
- unsafe fn sysctl(name: *c_int, namelen: c_uint,
- oldp: *mut c_void, oldlenp: *mut size_t,
- newp: *c_void, newlen: size_t) -> c_int;
+ extern {
+ pub unsafe fn sysctl(name: *c_int,
+ namelen: c_uint,
+ oldp: *mut c_void,
+ oldlenp: *mut size_t,
+ newp: *c_void,
+ newlen: size_t)
+ -> c_int;
- unsafe fn sysctlbyname(name: *c_char,
- oldp: *mut c_void, oldlenp: *mut size_t,
- newp: *c_void, newlen: size_t) -> c_int;
+ pub unsafe fn sysctlbyname(name: *c_char,
+ oldp: *mut c_void,
+ oldlenp: *mut size_t,
+ newp: *c_void,
+ newlen: size_t)
+ -> c_int;
- unsafe fn sysctlnametomib(name: *c_char, mibp: *mut c_int,
- sizep: *mut size_t) -> c_int;
+ pub unsafe fn sysctlnametomib(name: *c_char,
+ mibp: *mut c_int,
+ sizep: *mut size_t)
+ -> c_int;
- unsafe fn getdtablesize() -> c_int;
+ pub unsafe fn getdtablesize() -> c_int;
- unsafe fn madvise(addr: *c_void, len: size_t, advice: c_int)
- -> c_int;
+ pub unsafe fn madvise(addr: *c_void, len: size_t, advice: c_int)
+ -> c_int;
- unsafe fn mincore(addr: *c_void, len: size_t, vec: *c_uchar)
- -> c_int;
+ pub unsafe fn mincore(addr: *c_void, len: size_t, vec: *c_uchar)
+ -> c_int;
}
}
use libc::types::os::arch::c95::{c_uchar, c_int, size_t};
#[abi = "cdecl"]
- pub extern {
- unsafe fn getdtablesize() -> c_int;
+ extern {
+ pub unsafe fn getdtablesize() -> c_int;
- unsafe fn madvise(addr: *c_void, len: size_t, advice: c_int)
- -> c_int;
+ pub unsafe fn madvise(addr: *c_void, len: size_t, advice: c_int)
+ -> c_int;
- unsafe fn mincore(addr: *c_void, len: size_t, vec: *c_uchar)
- -> c_int;
+ pub unsafe fn mincore(addr: *c_void, len: size_t, vec: *c_uchar)
+ -> c_int;
}
}
use libc::types::os::arch::c95::{c_char, c_int};
#[abi = "cdecl"]
- pub extern {
- unsafe fn _NSGetExecutablePath(buf: *mut c_char,
- bufsize: *mut u32)
- -> c_int;
+ extern {
+ pub unsafe fn _NSGetExecutablePath(buf: *mut c_char,
+ bufsize: *mut u32)
+ -> c_int;
}
}
use libc::types::os::arch::extra::{HANDLE, LPHANDLE};
#[abi = "stdcall"]
- pub extern "stdcall" {
- unsafe fn GetEnvironmentVariableW(n: LPCWSTR,
- v: LPWSTR,
- nsize: DWORD)
- -> DWORD;
- unsafe fn SetEnvironmentVariableW(n: LPCWSTR, v: LPCWSTR)
- -> BOOL;
- unsafe fn GetEnvironmentStringsA() -> LPTCH;
- unsafe fn FreeEnvironmentStringsA(env_ptr: LPTCH) -> BOOL;
-
- unsafe fn GetModuleFileNameW(hModule: HMODULE,
- lpFilename: LPWSTR,
- nSize: DWORD)
- -> DWORD;
- unsafe fn CreateDirectoryW(lpPathName: LPCWSTR,
- lpSecurityAttributes:
- LPSECURITY_ATTRIBUTES)
+ extern "stdcall" {
+ pub unsafe fn GetEnvironmentVariableW(n: LPCWSTR,
+ v: LPWSTR,
+ nsize: DWORD)
+ -> DWORD;
+ pub unsafe fn SetEnvironmentVariableW(n: LPCWSTR, v: LPCWSTR)
+ -> BOOL;
+ pub unsafe fn GetEnvironmentStringsA() -> LPTCH;
+ pub unsafe fn FreeEnvironmentStringsA(env_ptr: LPTCH) -> BOOL;
+
+ pub unsafe fn GetModuleFileNameW(hModule: HMODULE,
+ lpFilename: LPWSTR,
+ nSize: DWORD)
+ -> DWORD;
+ pub unsafe fn CreateDirectoryW(lpPathName: LPCWSTR,
+ lpSecurityAttributes:
+ LPSECURITY_ATTRIBUTES)
+ -> BOOL;
+ pub unsafe fn CopyFileW(lpExistingFileName: LPCWSTR,
+ lpNewFileName: LPCWSTR,
+ bFailIfExists: BOOL)
-> BOOL;
- unsafe fn CopyFileW(lpExistingFileName: LPCWSTR,
- lpNewFileName: LPCWSTR,
- bFailIfExists: BOOL)
- -> BOOL;
- unsafe fn DeleteFileW(lpPathName: LPCWSTR) -> BOOL;
- unsafe fn RemoveDirectoryW(lpPathName: LPCWSTR) -> BOOL;
- unsafe fn SetCurrentDirectoryW(lpPathName: LPCWSTR) -> BOOL;
-
- unsafe fn GetLastError() -> DWORD;
- unsafe fn FindFirstFileW(fileName: *u16,
- findFileData: HANDLE)
- -> HANDLE;
- unsafe fn FindNextFileW(findFile: HANDLE,
- findFileData: HANDLE)
- -> BOOL;
- unsafe fn FindClose(findFile: HANDLE) -> BOOL;
- unsafe fn DuplicateHandle(hSourceProcessHandle: HANDLE,
- hSourceHandle: HANDLE,
- hTargetProcessHandle: HANDLE,
- lpTargetHandle: LPHANDLE,
- dwDesiredAccess: DWORD,
+ pub unsafe fn DeleteFileW(lpPathName: LPCWSTR) -> BOOL;
+ pub unsafe fn RemoveDirectoryW(lpPathName: LPCWSTR) -> BOOL;
+ pub unsafe fn SetCurrentDirectoryW(lpPathName: LPCWSTR)
+ -> BOOL;
+
+ pub unsafe fn GetLastError() -> DWORD;
+ pub unsafe fn FindFirstFileW(fileName: *u16,
+ findFileData: HANDLE)
+ -> HANDLE;
+ pub unsafe fn FindNextFileW(findFile: HANDLE,
+ findFileData: HANDLE)
+ -> BOOL;
+ pub unsafe fn FindClose(findFile: HANDLE) -> BOOL;
+ pub unsafe fn DuplicateHandle(hSourceProcessHandle: HANDLE,
+ hSourceHandle: HANDLE,
+ hTargetProcessHandle: HANDLE,
+ lpTargetHandle: LPHANDLE,
+ dwDesiredAccess: DWORD,
+ bInheritHandle: BOOL,
+ dwOptions: DWORD)
+ -> BOOL;
+ pub unsafe fn CloseHandle(hObject: HANDLE) -> BOOL;
+ pub unsafe fn OpenProcess(dwDesiredAccess: DWORD,
bInheritHandle: BOOL,
- dwOptions: DWORD) -> BOOL;
- unsafe fn CloseHandle(hObject: HANDLE) -> BOOL;
- unsafe fn OpenProcess(dwDesiredAccess: DWORD,
- bInheritHandle: BOOL,
- dwProcessId: DWORD) -> HANDLE;
- unsafe fn GetCurrentProcess() -> HANDLE;
- unsafe fn CreateProcessA(lpApplicationName: LPCTSTR,
- lpCommandLine: LPTSTR,
- lpProcessAttributes: LPSECURITY_ATTRIBUTES,
- lpThreadAttributes: LPSECURITY_ATTRIBUTES,
- bInheritHandles: BOOL,
- dwCreationFlags: DWORD,
- lpEnvironment: LPVOID,
- lpCurrentDirectory: LPCTSTR,
- lpStartupInfo: LPSTARTUPINFO,
- lpProcessInformation: LPPROCESS_INFORMATION) -> BOOL;
- unsafe fn WaitForSingleObject(hHandle: HANDLE, dwMilliseconds: DWORD) -> DWORD;
- unsafe fn TerminateProcess(hProcess: HANDLE, uExitCode: c_uint) -> BOOL;
- unsafe fn GetExitCodeProcess(hProcess: HANDLE, lpExitCode: LPDWORD) -> BOOL;
-
- unsafe fn GetSystemInfo(lpSystemInfo: LPSYSTEM_INFO);
- unsafe fn VirtualAlloc(lpAddress: LPVOID,
- dwSize: SIZE_T,
- flAllocationType: DWORD,
- flProtect: DWORD) -> LPVOID;
- unsafe fn VirtualFree(lpAddress: LPVOID,
- dwSize: SIZE_T,
- dwFreeType: DWORD) -> BOOL;
- unsafe fn VirtualLock(lpAddress: LPVOID, dwSize: SIZE_T) -> BOOL;
- unsafe fn VirtualUnlock(lpAddress: LPVOID, dwSize: SIZE_T) -> BOOL;
- unsafe fn VirtualProtect(lpAddress: LPVOID,
- dwSize: SIZE_T,
- flNewProtect: DWORD,
- lpflOldProtect: LPDWORD) -> BOOL;
- unsafe fn VirtualQuery(lpAddress: LPCVOID,
- lpBuffer: LPMEMORY_BASIC_INFORMATION,
- dwLength: SIZE_T) -> SIZE_T;
-
- unsafe fn CreateFileMappingW(hFile: HANDLE,
- lpAttributes: LPSECURITY_ATTRIBUTES,
- flProtect: DWORD,
- dwMaximumSizeHigh: DWORD,
- dwMaximumSizeLow: DWORD,
- lpName: LPCTSTR) -> HANDLE;
- unsafe fn MapViewOfFile(hFileMappingObject: HANDLE,
- dwDesiredAccess: DWORD,
- dwFileOffsetHigh: DWORD,
- dwFileOffsetLow: DWORD,
- dwNumberOfBytesToMap: SIZE_T) -> LPVOID;
- unsafe fn UnmapViewOfFile(lpBaseAddress: LPCVOID) -> BOOL;
+ dwProcessId: DWORD)
+ -> HANDLE;
+ pub unsafe fn GetCurrentProcess() -> HANDLE;
+ pub unsafe fn CreateProcessA(lpApplicationName: LPCTSTR,
+ lpCommandLine: LPTSTR,
+ lpProcessAttributes:
+ LPSECURITY_ATTRIBUTES,
+ lpThreadAttributes:
+ LPSECURITY_ATTRIBUTES,
+ bInheritHandles: BOOL,
+ dwCreationFlags: DWORD,
+ lpEnvironment: LPVOID,
+ lpCurrentDirectory: LPCTSTR,
+ lpStartupInfo: LPSTARTUPINFO,
+ lpProcessInformation:
+ LPPROCESS_INFORMATION)
+ -> BOOL;
+ pub unsafe fn WaitForSingleObject(hHandle: HANDLE,
+ dwMilliseconds: DWORD)
+ -> DWORD;
+ pub unsafe fn TerminateProcess(hProcess: HANDLE,
+ uExitCode: c_uint)
+ -> BOOL;
+ pub unsafe fn GetExitCodeProcess(hProcess: HANDLE,
+ lpExitCode: LPDWORD)
+ -> BOOL;
+
+ pub unsafe fn GetSystemInfo(lpSystemInfo: LPSYSTEM_INFO);
+ pub unsafe fn VirtualAlloc(lpAddress: LPVOID,
+ dwSize: SIZE_T,
+ flAllocationType: DWORD,
+ flProtect: DWORD)
+ -> LPVOID;
+ pub unsafe fn VirtualFree(lpAddress: LPVOID,
+ dwSize: SIZE_T,
+ dwFreeType: DWORD)
+ -> BOOL;
+ pub unsafe fn VirtualLock(lpAddress: LPVOID, dwSize: SIZE_T)
+ -> BOOL;
+ pub unsafe fn VirtualUnlock(lpAddress: LPVOID, dwSize: SIZE_T)
+ -> BOOL;
+ pub unsafe fn VirtualProtect(lpAddress: LPVOID,
+ dwSize: SIZE_T,
+ flNewProtect: DWORD,
+ lpflOldProtect: LPDWORD)
+ -> BOOL;
+ pub unsafe fn VirtualQuery(lpAddress: LPCVOID,
+ lpBuffer:
+ LPMEMORY_BASIC_INFORMATION,
+ dwLength: SIZE_T)
+ -> SIZE_T;
+
+ pub unsafe fn CreateFileMappingW(hFile: HANDLE,
+ lpAttributes:
+ LPSECURITY_ATTRIBUTES,
+ flProtect: DWORD,
+ dwMaximumSizeHigh: DWORD,
+ dwMaximumSizeLow: DWORD,
+ lpName: LPCTSTR)
+ -> HANDLE;
+ pub unsafe fn MapViewOfFile(hFileMappingObject: HANDLE,
+ dwDesiredAccess: DWORD,
+ dwFileOffsetHigh: DWORD,
+ dwFileOffsetLow: DWORD,
+ dwNumberOfBytesToMap: SIZE_T)
+ -> LPVOID;
+ pub unsafe fn UnmapViewOfFile(lpBaseAddress: LPCVOID) -> BOOL;
}
}
#[abi = "cdecl"]
#[nolink]
- pub extern {
+ extern {
#[link_name = "_commit"]
- unsafe fn commit(fd: c_int) -> c_int;
+ pub unsafe fn commit(fd: c_int) -> c_int;
#[link_name = "_get_osfhandle"]
- unsafe fn get_osfhandle(fd: c_int) -> c_long;
+ pub unsafe fn get_osfhandle(fd: c_int) -> c_long;
}
}
}
#[link_name = "m"]
#[abi = "cdecl"]
- pub extern {
+ extern {
// Alpabetically sorted by link_name
- unsafe fn acos(n: c_double) -> c_double;
- unsafe fn asin(n: c_double) -> c_double;
- unsafe fn atan(n: c_double) -> c_double;
- unsafe fn atan2(a: c_double, b: c_double) -> c_double;
- unsafe fn cbrt(n: c_double) -> c_double;
- unsafe fn ceil(n: c_double) -> c_double;
- unsafe fn copysign(x: c_double, y: c_double) -> c_double;
- unsafe fn cos(n: c_double) -> c_double;
- unsafe fn cosh(n: c_double) -> c_double;
- unsafe fn erf(n: c_double) -> c_double;
- unsafe fn erfc(n: c_double) -> c_double;
- unsafe fn exp(n: c_double) -> c_double;
+ pub unsafe fn acos(n: c_double) -> c_double;
+ pub unsafe fn asin(n: c_double) -> c_double;
+ pub unsafe fn atan(n: c_double) -> c_double;
+ pub unsafe fn atan2(a: c_double, b: c_double) -> c_double;
+ pub unsafe fn cbrt(n: c_double) -> c_double;
+ pub unsafe fn ceil(n: c_double) -> c_double;
+ pub unsafe fn copysign(x: c_double, y: c_double) -> c_double;
+ pub unsafe fn cos(n: c_double) -> c_double;
+ pub unsafe fn cosh(n: c_double) -> c_double;
+ pub unsafe fn erf(n: c_double) -> c_double;
+ pub unsafe fn erfc(n: c_double) -> c_double;
+ pub unsafe fn exp(n: c_double) -> c_double;
// rename: for consistency with underscore usage elsewhere
#[link_name="expm1"] unsafe fn exp_m1(n: c_double) -> c_double;
- unsafe fn exp2(n: c_double) -> c_double;
+ pub unsafe fn exp2(n: c_double) -> c_double;
#[link_name="fabs"] unsafe fn abs(n: c_double) -> c_double;
// rename: for clarity and consistency with add/sub/mul/div
#[link_name="fdim"]
- unsafe fn abs_sub(a: c_double, b: c_double) -> c_double;
- unsafe fn floor(n: c_double) -> c_double;
+ pub unsafe fn abs_sub(a: c_double, b: c_double) -> c_double;
+ pub unsafe fn floor(n: c_double) -> c_double;
// rename: for clarity and consistency with add/sub/mul/div
#[link_name="fma"]
- unsafe fn mul_add(a: c_double, b: c_double, c: c_double) -> c_double;
+ pub unsafe fn mul_add(a: c_double, b: c_double, c: c_double)
+ -> c_double;
#[link_name="fmax"]
- unsafe fn fmax(a: c_double, b: c_double) -> c_double;
+ pub unsafe fn fmax(a: c_double, b: c_double) -> c_double;
#[link_name="fmin"]
- unsafe fn fmin(a: c_double, b: c_double) -> c_double;
+ pub unsafe fn fmin(a: c_double, b: c_double) -> c_double;
#[link_name="nextafter"]
- unsafe fn next_after(x: c_double, y: c_double) -> c_double;
- unsafe fn frexp(n: c_double, value: &mut c_int) -> c_double;
- unsafe fn hypot(x: c_double, y: c_double) -> c_double;
- unsafe fn ldexp(x: c_double, n: c_int) -> c_double;
+ pub unsafe fn next_after(x: c_double, y: c_double) -> c_double;
+ pub unsafe fn frexp(n: c_double, value: &mut c_int) -> c_double;
+ pub unsafe fn hypot(x: c_double, y: c_double) -> c_double;
+ pub unsafe fn ldexp(x: c_double, n: c_int) -> c_double;
#[cfg(unix)]
#[link_name="lgamma_r"]
- unsafe fn lgamma(n: c_double, sign: &mut c_int) -> c_double;
+ pub unsafe fn lgamma(n: c_double, sign: &mut c_int) -> c_double;
#[cfg(windows)]
#[link_name="__lgamma_r"]
- unsafe fn lgamma(n: c_double, sign: &mut c_int) -> c_double;
- // renamed: log is a reserved keyword; ln seems more natural, too
- #[link_name="log"] unsafe fn ln(n: c_double) -> c_double;
+ pub unsafe fn lgamma(n: c_double, sign: &mut c_int) -> c_double;
+ // renamed: ln seems more natural
+ #[link_name="log"]
+ pub unsafe fn ln(n: c_double) -> c_double;
// renamed: "logb" /often/ is confused for log2 by beginners
- #[link_name="logb"] unsafe fn log_radix(n: c_double) -> c_double;
+ #[link_name="logb"]
+ pub unsafe fn log_radix(n: c_double) -> c_double;
// renamed: to be consitent with log as ln
- #[link_name="log1p"] unsafe fn ln_1p(n: c_double) -> c_double;
- unsafe fn log10(n: c_double) -> c_double;
- unsafe fn log2(n: c_double) -> c_double;
- #[link_name="ilogb"] unsafe fn ilog_radix(n: c_double) -> c_int;
- unsafe fn modf(n: c_double, iptr: &mut c_double) -> c_double;
- unsafe fn pow(n: c_double, e: c_double) -> c_double;
+ #[link_name="log1p"]
+ pub unsafe fn ln_1p(n: c_double) -> c_double;
+ pub unsafe fn log10(n: c_double) -> c_double;
+ pub unsafe fn log2(n: c_double) -> c_double;
+ #[link_name="ilogb"]
+ pub unsafe fn ilog_radix(n: c_double) -> c_int;
+ pub unsafe fn modf(n: c_double, iptr: &mut c_double) -> c_double;
+ pub unsafe fn pow(n: c_double, e: c_double) -> c_double;
// FIXME (#1379): enable when rounding modes become available
// unsafe fn rint(n: c_double) -> c_double;
- unsafe fn round(n: c_double) -> c_double;
+ pub unsafe fn round(n: c_double) -> c_double;
// rename: for consistency with logradix
- #[link_name="scalbn"] unsafe fn ldexp_radix(n: c_double, i: c_int) ->
- c_double;
- unsafe fn sin(n: c_double) -> c_double;
- unsafe fn sinh(n: c_double) -> c_double;
- unsafe fn sqrt(n: c_double) -> c_double;
- unsafe fn tan(n: c_double) -> c_double;
- unsafe fn tanh(n: c_double) -> c_double;
- unsafe fn tgamma(n: c_double) -> c_double;
- unsafe fn trunc(n: c_double) -> c_double;
+ #[link_name="scalbn"]
+ pub unsafe fn ldexp_radix(n: c_double, i: c_int) -> c_double;
+ pub unsafe fn sin(n: c_double) -> c_double;
+ pub unsafe fn sinh(n: c_double) -> c_double;
+ pub unsafe fn sqrt(n: c_double) -> c_double;
+ pub unsafe fn tan(n: c_double) -> c_double;
+ pub unsafe fn tanh(n: c_double) -> c_double;
+ pub unsafe fn tgamma(n: c_double) -> c_double;
+ pub unsafe fn trunc(n: c_double) -> c_double;
// These are commonly only available for doubles
- unsafe fn j0(n: c_double) -> c_double;
- unsafe fn j1(n: c_double) -> c_double;
- unsafe fn jn(i: c_int, n: c_double) -> c_double;
+ pub unsafe fn j0(n: c_double) -> c_double;
+ pub unsafe fn j1(n: c_double) -> c_double;
+ pub unsafe fn jn(i: c_int, n: c_double) -> c_double;
- unsafe fn y0(n: c_double) -> c_double;
- unsafe fn y1(n: c_double) -> c_double;
- unsafe fn yn(i: c_int, n: c_double) -> c_double;
+ pub unsafe fn y0(n: c_double) -> c_double;
+ pub unsafe fn y1(n: c_double) -> c_double;
+ pub unsafe fn yn(i: c_int, n: c_double) -> c_double;
}
}
#[link_name = "m"]
#[abi = "cdecl"]
- pub extern {
+ extern {
// Alpabetically sorted by link_name
- #[link_name="acosf"] unsafe fn acos(n: c_float) -> c_float;
- #[link_name="asinf"] unsafe fn asin(n: c_float) -> c_float;
- #[link_name="atanf"] unsafe fn atan(n: c_float) -> c_float;
+ #[link_name="acosf"]
+ pub unsafe fn acos(n: c_float) -> c_float;
+ #[link_name="asinf"]
+ pub unsafe fn asin(n: c_float) -> c_float;
+ #[link_name="atanf"]
+ pub unsafe fn atan(n: c_float) -> c_float;
#[link_name="atan2f"]
- unsafe fn atan2(a: c_float, b: c_float) -> c_float;
- #[link_name="cbrtf"] unsafe fn cbrt(n: c_float) -> c_float;
- #[link_name="ceilf"] unsafe fn ceil(n: c_float) -> c_float;
- #[link_name="copysignf"] unsafe fn copysign(x: c_float,
- y: c_float) -> c_float;
- #[link_name="cosf"] unsafe fn cos(n: c_float) -> c_float;
- #[link_name="coshf"] unsafe fn cosh(n: c_float) -> c_float;
- #[link_name="erff"] unsafe fn erf(n: c_float) -> c_float;
- #[link_name="erfcf"] unsafe fn erfc(n: c_float) -> c_float;
- #[link_name="expf"] unsafe fn exp(n: c_float) -> c_float;
- #[link_name="expm1f"]unsafe fn exp_m1(n: c_float) -> c_float;
- #[link_name="exp2f"] unsafe fn exp2(n: c_float) -> c_float;
- #[link_name="fabsf"] unsafe fn abs(n: c_float) -> c_float;
+ pub unsafe fn atan2(a: c_float, b: c_float) -> c_float;
+ #[link_name="cbrtf"]
+ pub unsafe fn cbrt(n: c_float) -> c_float;
+ #[link_name="ceilf"]
+ pub unsafe fn ceil(n: c_float) -> c_float;
+ #[link_name="copysignf"]
+ pub unsafe fn copysign(x: c_float, y: c_float) -> c_float;
+ #[link_name="cosf"]
+ pub unsafe fn cos(n: c_float) -> c_float;
+ #[link_name="coshf"]
+ pub unsafe fn cosh(n: c_float) -> c_float;
+ #[link_name="erff"]
+ pub unsafe fn erf(n: c_float) -> c_float;
+ #[link_name="erfcf"]
+ pub unsafe fn erfc(n: c_float) -> c_float;
+ #[link_name="expf"]
+ pub unsafe fn exp(n: c_float) -> c_float;
+ #[link_name="expm1f"]
+ pub unsafe fn exp_m1(n: c_float) -> c_float;
+ #[link_name="exp2f"]
+ pub unsafe fn exp2(n: c_float) -> c_float;
+ #[link_name="fabsf"]
+ pub unsafe fn abs(n: c_float) -> c_float;
#[link_name="fdimf"]
- unsafe fn abs_sub(a: c_float, b: c_float) -> c_float;
- #[link_name="floorf"] unsafe fn floor(n: c_float) -> c_float;
- #[link_name="frexpf"] unsafe fn frexp(n: c_float,
- value: &mut c_int) -> c_float;
+ pub unsafe fn abs_sub(a: c_float, b: c_float) -> c_float;
+ #[link_name="floorf"]
+ pub unsafe fn floor(n: c_float) -> c_float;
+ #[link_name="frexpf"]
+ pub unsafe fn frexp(n: c_float, value: &mut c_int) -> c_float;
#[link_name="fmaf"]
- unsafe fn mul_add(a: c_float, b: c_float, c: c_float) -> c_float;
+ pub unsafe fn mul_add(a: c_float, b: c_float, c: c_float) -> c_float;
#[link_name="fmaxf"]
- unsafe fn fmax(a: c_float, b: c_float) -> c_float;
+ pub unsafe fn fmax(a: c_float, b: c_float) -> c_float;
#[link_name="fminf"]
- unsafe fn fmin(a: c_float, b: c_float) -> c_float;
+ pub unsafe fn fmin(a: c_float, b: c_float) -> c_float;
#[link_name="nextafterf"]
- unsafe fn next_after(x: c_float, y: c_float) -> c_float;
+ pub unsafe fn next_after(x: c_float, y: c_float) -> c_float;
#[link_name="hypotf"]
- unsafe fn hypot(x: c_float, y: c_float) -> c_float;
+ pub unsafe fn hypot(x: c_float, y: c_float) -> c_float;
#[link_name="ldexpf"]
- unsafe fn ldexp(x: c_float, n: c_int) -> c_float;
+ pub unsafe fn ldexp(x: c_float, n: c_int) -> c_float;
#[cfg(unix)]
- #[link_name="lgammaf_r"] unsafe fn lgamma(n: c_float,
- sign: &mut c_int) -> c_float;
+ #[link_name="lgammaf_r"]
+ pub unsafe fn lgamma(n: c_float, sign: &mut c_int) -> c_float;
#[cfg(windows)]
#[link_name="__lgammaf_r"]
- unsafe fn lgamma(n: c_float, sign: &mut c_int) -> c_float;
+ pub unsafe fn lgamma(n: c_float, sign: &mut c_int) -> c_float;
- #[link_name="logf"] unsafe fn ln(n: c_float) -> c_float;
- #[link_name="logbf"] unsafe fn log_radix(n: c_float) -> c_float;
- #[link_name="log1pf"] unsafe fn ln_1p(n: c_float) -> c_float;
- #[link_name="log2f"] unsafe fn log2(n: c_float) -> c_float;
- #[link_name="log10f"] unsafe fn log10(n: c_float) -> c_float;
- #[link_name="ilogbf"] unsafe fn ilog_radix(n: c_float) -> c_int;
- #[link_name="modff"] unsafe fn modf(n: c_float,
- iptr: &mut c_float) -> c_float;
- #[link_name="powf"] unsafe fn pow(n: c_float, e: c_float) -> c_float;
+ #[link_name="logf"]
+ pub unsafe fn ln(n: c_float) -> c_float;
+ #[link_name="logbf"]
+ pub unsafe fn log_radix(n: c_float) -> c_float;
+ #[link_name="log1pf"]
+ pub unsafe fn ln_1p(n: c_float) -> c_float;
+ #[link_name="log2f"]
+ pub unsafe fn log2(n: c_float) -> c_float;
+ #[link_name="log10f"]
+ pub unsafe fn log10(n: c_float) -> c_float;
+ #[link_name="ilogbf"]
+ pub unsafe fn ilog_radix(n: c_float) -> c_int;
+ #[link_name="modff"]
+ pub unsafe fn modf(n: c_float, iptr: &mut c_float) -> c_float;
+ #[link_name="powf"]
+ pub unsafe fn pow(n: c_float, e: c_float) -> c_float;
// FIXME (#1379): enable when rounding modes become available
// #[link_name="rintf"] unsafe fn rint(n: c_float) -> c_float;
- #[link_name="roundf"] unsafe fn round(n: c_float) -> c_float;
- #[link_name="scalbnf"] unsafe fn ldexp_radix(n: c_float, i: c_int)
- -> c_float;
- #[link_name="sinf"] unsafe fn sin(n: c_float) -> c_float;
- #[link_name="sinhf"] unsafe fn sinh(n: c_float) -> c_float;
- #[link_name="sqrtf"] unsafe fn sqrt(n: c_float) -> c_float;
- #[link_name="tanf"] unsafe fn tan(n: c_float) -> c_float;
- #[link_name="tanhf"] unsafe fn tanh(n: c_float) -> c_float;
- #[link_name="tgammaf"] unsafe fn tgamma(n: c_float) -> c_float;
- #[link_name="truncf"] unsafe fn trunc(n: c_float) -> c_float;
+ #[link_name="roundf"]
+ pub unsafe fn round(n: c_float) -> c_float;
+ #[link_name="scalbnf"]
+ pub unsafe fn ldexp_radix(n: c_float, i: c_int) -> c_float;
+ #[link_name="sinf"]
+ pub unsafe fn sin(n: c_float) -> c_float;
+ #[link_name="sinhf"]
+ pub unsafe fn sinh(n: c_float) -> c_float;
+ #[link_name="sqrtf"]
+ pub unsafe fn sqrt(n: c_float) -> c_float;
+ #[link_name="tanf"]
+ pub unsafe fn tan(n: c_float) -> c_float;
+ #[link_name="tanhf"]
+ pub unsafe fn tanh(n: c_float) -> c_float;
+ #[link_name="tgammaf"]
+ pub unsafe fn tgamma(n: c_float) -> c_float;
+ #[link_name="truncf"]
+ pub unsafe fn trunc(n: c_float) -> c_float;
}
}