Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
int
Rust
提交
0459ee77
R
Rust
项目概览
int
/
Rust
大约 1 年 前同步成功
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
Rust
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
0459ee77
编写于
2月 26, 2014
作者:
C
Corey Richardson
提交者:
Alex Crichton
4月 04, 2014
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix fallout from std::libc separation
上级
06ad5eb4
变更
121
展开全部
隐藏空白更改
内联
并排
Showing
121 changed file
with
311 addition
and
260 deletion
+311
-260
mk/crates.mk
mk/crates.mk
+2
-2
src/doc/guide-ffi.md
src/doc/guide-ffi.md
+11
-5
src/doc/guide-unsafe.md
src/doc/guide-unsafe.md
+2
-1
src/doc/index.md
src/doc/index.md
+1
-0
src/doc/rust.md
src/doc/rust.md
+3
-1
src/etc/zsh/_rust
src/etc/zsh/_rust
+1
-1
src/libcollections/hashmap.rs
src/libcollections/hashmap.rs
+2
-1
src/libflate/lib.rs
src/libflate/lib.rs
+5
-4
src/libgreen/lib.rs
src/libgreen/lib.rs
+1
-0
src/libgreen/macros.rs
src/libgreen/macros.rs
+1
-1
src/libgreen/sched.rs
src/libgreen/sched.rs
+1
-1
src/libgreen/stack.rs
src/libgreen/stack.rs
+1
-1
src/liblibc/lib.rs
src/liblibc/lib.rs
+29
-45
src/libnative/io/addrinfo.rs
src/libnative/io/addrinfo.rs
+2
-2
src/libnative/io/file_unix.rs
src/libnative/io/file_unix.rs
+5
-5
src/libnative/io/file_win32.rs
src/libnative/io/file_win32.rs
+2
-2
src/libnative/io/mod.rs
src/libnative/io/mod.rs
+2
-2
src/libnative/io/net.rs
src/libnative/io/net.rs
+1
-1
src/libnative/io/pipe_unix.rs
src/libnative/io/pipe_unix.rs
+1
-1
src/libnative/io/pipe_win32.rs
src/libnative/io/pipe_win32.rs
+1
-1
src/libnative/io/process.rs
src/libnative/io/process.rs
+14
-14
src/libnative/io/timer_helper.rs
src/libnative/io/timer_helper.rs
+3
-3
src/libnative/io/timer_other.rs
src/libnative/io/timer_other.rs
+3
-3
src/libnative/io/timer_timerfd.rs
src/libnative/io/timer_timerfd.rs
+2
-2
src/libnative/io/timer_win32.rs
src/libnative/io/timer_win32.rs
+2
-2
src/libnative/lib.rs
src/libnative/lib.rs
+4
-2
src/librand/os.rs
src/librand/os.rs
+3
-1
src/librustc/back/archive.rs
src/librustc/back/archive.rs
+1
-1
src/librustc/back/link.rs
src/librustc/back/link.rs
+1
-1
src/librustc/back/lto.rs
src/librustc/back/lto.rs
+1
-1
src/librustc/lib.rs
src/librustc/lib.rs
+2
-0
src/librustc/lib/llvm.rs
src/librustc/lib/llvm.rs
+2
-2
src/librustc/middle/astencode.rs
src/librustc/middle/astencode.rs
+1
-1
src/librustc/middle/lint.rs
src/librustc/middle/lint.rs
+1
-1
src/librustc/middle/trans/adt.rs
src/librustc/middle/trans/adt.rs
+1
-1
src/librustc/middle/trans/base.rs
src/librustc/middle/trans/base.rs
+1
-1
src/librustc/middle/trans/build.rs
src/librustc/middle/trans/build.rs
+1
-1
src/librustc/middle/trans/builder.rs
src/librustc/middle/trans/builder.rs
+2
-2
src/librustc/middle/trans/cabi_mips.rs
src/librustc/middle/trans/cabi_mips.rs
+1
-1
src/librustc/middle/trans/common.rs
src/librustc/middle/trans/common.rs
+2
-1
src/librustc/middle/trans/consts.rs
src/librustc/middle/trans/consts.rs
+1
-1
src/librustc/middle/trans/context.rs
src/librustc/middle/trans/context.rs
+0
-1
src/librustc/middle/trans/debuginfo.rs
src/librustc/middle/trans/debuginfo.rs
+1
-1
src/librustc/middle/trans/foreign.rs
src/librustc/middle/trans/foreign.rs
+1
-1
src/librustc/middle/trans/glue.rs
src/librustc/middle/trans/glue.rs
+1
-1
src/librustc/middle/trans/reflect.rs
src/librustc/middle/trans/reflect.rs
+1
-1
src/librustc/middle/trans/type_.rs
src/librustc/middle/trans/type_.rs
+1
-1
src/librustc/middle/trans/value.rs
src/librustc/middle/trans/value.rs
+1
-1
src/librustdoc/flock.rs
src/librustdoc/flock.rs
+6
-5
src/librustdoc/html/markdown.rs
src/librustdoc/html/markdown.rs
+1
-1
src/librustdoc/lib.rs
src/librustdoc/lib.rs
+1
-0
src/librustuv/addrinfo.rs
src/librustuv/addrinfo.rs
+2
-2
src/librustuv/async.rs
src/librustuv/async.rs
+1
-1
src/librustuv/file.rs
src/librustuv/file.rs
+6
-6
src/librustuv/idle.rs
src/librustuv/idle.rs
+1
-1
src/librustuv/lib.rs
src/librustuv/lib.rs
+2
-1
src/librustuv/macros.rs
src/librustuv/macros.rs
+1
-1
src/librustuv/net.rs
src/librustuv/net.rs
+2
-2
src/librustuv/pipe.rs
src/librustuv/pipe.rs
+1
-1
src/librustuv/process.rs
src/librustuv/process.rs
+2
-2
src/librustuv/queue.rs
src/librustuv/queue.rs
+1
-1
src/librustuv/signal.rs
src/librustuv/signal.rs
+1
-1
src/librustuv/stream.rs
src/librustuv/stream.rs
+1
-1
src/librustuv/timer.rs
src/librustuv/timer.rs
+1
-1
src/librustuv/tty.rs
src/librustuv/tty.rs
+1
-1
src/librustuv/uvio.rs
src/librustuv/uvio.rs
+3
-3
src/librustuv/uvll.rs
src/librustuv/uvll.rs
+7
-7
src/libstd/c_str.rs
src/libstd/c_str.rs
+24
-19
src/libstd/io/pipe.rs
src/libstd/io/pipe.rs
+6
-3
src/libstd/os.rs
src/libstd/os.rs
+4
-2
src/libsyntax/diagnostic.rs
src/libsyntax/diagnostic.rs
+2
-0
src/libtime/lib.rs
src/libtime/lib.rs
+4
-4
src/test/auxiliary/anon-extern-mod-cross-crate-1.rs
src/test/auxiliary/anon-extern-mod-cross-crate-1.rs
+1
-1
src/test/auxiliary/extern-crosscrate-source.rs
src/test/auxiliary/extern-crosscrate-source.rs
+2
-2
src/test/auxiliary/foreign_lib.rs
src/test/auxiliary/foreign_lib.rs
+1
-1
src/test/auxiliary/issue-3012-1.rs
src/test/auxiliary/issue-3012-1.rs
+1
-1
src/test/auxiliary/issue_5844_aux.rs
src/test/auxiliary/issue_5844_aux.rs
+1
-1
src/test/compile-fail/attrs-after-extern-mod.rs
src/test/compile-fail/attrs-after-extern-mod.rs
+1
-1
src/test/compile-fail/lint-ctypes.rs
src/test/compile-fail/lint-ctypes.rs
+1
-1
src/test/compile-fail/lint-dead-code-3.rs
src/test/compile-fail/lint-dead-code-3.rs
+3
-1
src/test/compile-fail/non-copyable-void.rs
src/test/compile-fail/non-copyable-void.rs
+1
-1
src/test/compile-fail/static-mut-foreign-requires-unsafe.rs
src/test/compile-fail/static-mut-foreign-requires-unsafe.rs
+1
-1
src/test/compile-fail/unsupported-cast.rs
src/test/compile-fail/unsupported-cast.rs
+1
-1
src/test/run-fail/extern-fail.rs
src/test/run-fail/extern-fail.rs
+2
-2
src/test/run-fail/morestack2.rs
src/test/run-fail/morestack2.rs
+2
-2
src/test/run-pass/anon-extern-mod.rs
src/test/run-pass/anon-extern-mod.rs
+1
-1
src/test/run-pass/c-stack-as-value.rs
src/test/run-pass/c-stack-as-value.rs
+1
-1
src/test/run-pass/c-stack-returning-int64.rs
src/test/run-pass/c-stack-returning-int64.rs
+8
-4
src/test/run-pass/const-cast.rs
src/test/run-pass/const-cast.rs
+1
-1
src/test/run-pass/core-run-destroy.rs
src/test/run-pass/core-run-destroy.rs
+3
-2
src/test/run-pass/extern-call-deep.rs
src/test/run-pass/extern-call-deep.rs
+2
-2
src/test/run-pass/extern-call-deep2.rs
src/test/run-pass/extern-call-deep2.rs
+2
-2
src/test/run-pass/extern-call-indirect.rs
src/test/run-pass/extern-call-indirect.rs
+2
-2
src/test/run-pass/extern-call-scrub.rs
src/test/run-pass/extern-call-scrub.rs
+2
-2
src/test/run-pass/extern-stress.rs
src/test/run-pass/extern-stress.rs
+2
-2
src/test/run-pass/extern-yield.rs
src/test/run-pass/extern-yield.rs
+2
-2
src/test/run-pass/foreign-call-no-runtime.rs
src/test/run-pass/foreign-call-no-runtime.rs
+2
-1
src/test/run-pass/foreign-dupe.rs
src/test/run-pass/foreign-dupe.rs
+2
-2
src/test/run-pass/foreign-fn-linkname.rs
src/test/run-pass/foreign-fn-linkname.rs
+8
-3
src/test/run-pass/foreign-mod-unused-const.rs
src/test/run-pass/foreign-mod-unused-const.rs
+5
-1
src/test/run-pass/foreign-no-abi.rs
src/test/run-pass/foreign-no-abi.rs
+1
-1
src/test/run-pass/foreign2.rs
src/test/run-pass/foreign2.rs
+6
-2
src/test/run-pass/issue-1251.rs
src/test/run-pass/issue-1251.rs
+1
-1
src/test/run-pass/issue-2214.rs
src/test/run-pass/issue-2214.rs
+4
-2
src/test/run-pass/issue-3012-2.rs
src/test/run-pass/issue-3012-2.rs
+1
-1
src/test/run-pass/issue-3656.rs
src/test/run-pass/issue-3656.rs
+2
-1
src/test/run-pass/issue-4735.rs
src/test/run-pass/issue-4735.rs
+4
-1
src/test/run-pass/issue-5791.rs
src/test/run-pass/issue-5791.rs
+1
-1
src/test/run-pass/item-attributes.rs
src/test/run-pass/item-attributes.rs
+1
-1
src/test/run-pass/lint-cstack.rs
src/test/run-pass/lint-cstack.rs
+1
-1
src/test/run-pass/morestack6.rs
src/test/run-pass/morestack6.rs
+1
-1
src/test/run-pass/newtype-struct-with-dtor.rs
src/test/run-pass/newtype-struct-with-dtor.rs
+4
-2
src/test/run-pass/osx-frameworks.rs
src/test/run-pass/osx-frameworks.rs
+1
-1
src/test/run-pass/process-detach.rs
src/test/run-pass/process-detach.rs
+1
-1
src/test/run-pass/regions-mock-tcx.rs
src/test/run-pass/regions-mock-tcx.rs
+1
-1
src/test/run-pass/regions-mock-trans.rs
src/test/run-pass/regions-mock-trans.rs
+1
-1
src/test/run-pass/rename-directory.rs
src/test/run-pass/rename-directory.rs
+2
-1
src/test/run-pass/static-mut-foreign.rs
src/test/run-pass/static-mut-foreign.rs
+1
-1
src/test/run-pass/supported-cast.rs
src/test/run-pass/supported-cast.rs
+1
-1
src/test/run-pass/tcp-stress.rs
src/test/run-pass/tcp-stress.rs
+1
-1
src/test/run-pass/variadic-ffi.rs
src/test/run-pass/variadic-ffi.rs
+4
-1
未找到文件。
mk/crates.mk
浏览文件 @
0459ee77
...
@@ -49,14 +49,14 @@
...
@@ -49,14 +49,14 @@
# automatically generated for all stage/host/target combinations.
# automatically generated for all stage/host/target combinations.
################################################################################
################################################################################
TARGET_CRATES
:=
std green rustuv native flate arena glob term semver
\
TARGET_CRATES
:=
libc
std green rustuv native flate arena glob term semver
\
uuid serialize
sync getopts
collections num
test time
rand
\
uuid serialize
sync getopts
collections num
test time
rand
\
workcache url log
workcache url log
HOST_CRATES
:=
syntax rustc rustdoc fourcc hexfloat
HOST_CRATES
:=
syntax rustc rustdoc fourcc hexfloat
CRATES
:=
$(TARGET_CRATES)
$(HOST_CRATES)
CRATES
:=
$(TARGET_CRATES)
$(HOST_CRATES)
TOOLS
:=
compiletest rustdoc rustc
TOOLS
:=
compiletest rustdoc rustc
DEPS_std
:=
native:rustrt native:compiler-rt native:backtrace
DEPS_std
:=
libc
native:rustrt native:compiler-rt native:backtrace
DEPS_green
:=
std rand native:context_switch
DEPS_green
:=
std rand native:context_switch
DEPS_rustuv
:=
std native:uv native:uv_support
DEPS_rustuv
:=
std native:uv native:uv_support
DEPS_native
:=
std
DEPS_native
:=
std
...
...
src/doc/guide-ffi.md
浏览文件 @
0459ee77
...
@@ -12,7 +12,8 @@ The following is a minimal example of calling a foreign function which will
...
@@ -12,7 +12,8 @@ The following is a minimal example of calling a foreign function which will
compile if snappy is installed:
compile if snappy is installed:
~~~~
{.ignore}
~~~~
{.ignore}
use std::libc::size_t;
extern crate libc;
use libc::size_t;
#[link(name = "snappy")]
#[link(name = "snappy")]
extern {
extern {
...
@@ -44,7 +45,8 @@ keeping the binding correct at runtime.
...
@@ -44,7 +45,8 @@ keeping the binding correct at runtime.
The
`extern`
block can be extended to cover the entire snappy API:
The
`extern`
block can be extended to cover the entire snappy API:
~~~~
{.ignore}
~~~~
{.ignore}
use std::libc::{c_int, size_t};
extern crate libc;
use libc::{c_int, size_t};
#[link(name = "snappy")]
#[link(name = "snappy")]
extern {
extern {
...
@@ -402,7 +404,7 @@ global state. In order to access these variables, you declare them in `extern`
...
@@ -402,7 +404,7 @@ global state. In order to access these variables, you declare them in `extern`
blocks with the `
static
` keyword:
blocks with the `
static
` keyword:
~~~{.ignore}
~~~{.ignore}
use std::
libc;
extern crate
libc;
#[link(name = "readline")]
#[link(name = "readline")]
extern {
extern {
...
@@ -420,7 +422,7 @@ interface. To do this, statics can be declared with `mut` so rust can mutate
...
@@ -420,7 +422,7 @@ interface. To do this, statics can be declared with `mut` so rust can mutate
them.
them.
~~~{.ignore}
~~~{.ignore}
use std::
libc;
extern crate
libc;
use std::ptr;
use std::ptr;
#[link(name = "readline")]
#[link(name = "readline")]
...
@@ -444,11 +446,15 @@ calling foreign functions. Some foreign functions, most notably the Windows API,
...
@@ -444,11 +446,15 @@ calling foreign functions. Some foreign functions, most notably the Windows API,
conventions. Rust provides a way to tell the compiler which convention to use:
conventions. Rust provides a way to tell the compiler which convention to use:
~~~~
~~~~
extern crate libc;
#[cfg(target_os = "win32", target_arch = "x86")]
#[cfg(target_os = "win32", target_arch = "x86")]
#[link(name = "kernel32")]
#[link(name = "kernel32")]
extern "stdcall" {
extern "stdcall" {
fn SetEnvironmentVariableA(n: *u8, v: *u8) ->
std::
libc::c_int;
fn SetEnvironmentVariableA(n: *u8, v: *u8) -> libc::c_int;
}
}
# fn main() { }
~~~~
~~~~
This applies to the entire `
extern
` block. The list of supported ABI constraints
This applies to the entire `
extern
` block. The list of supported ABI constraints
...
...
src/doc/guide-unsafe.md
浏览文件 @
0459ee77
...
@@ -192,7 +192,8 @@ As an example, we give a reimplementation of owned boxes by wrapping
...
@@ -192,7 +192,8 @@ As an example, we give a reimplementation of owned boxes by wrapping
reimplementation is as safe as the built-in
`~`
type.
reimplementation is as safe as the built-in
`~`
type.
```
```
use std::libc::{c_void, size_t, malloc, free};
extern crate libc;
use libc::{c_void, size_t, malloc, free};
use std::mem;
use std::mem;
use std::ptr;
use std::ptr;
...
...
src/doc/index.md
浏览文件 @
0459ee77
...
@@ -36,6 +36,7 @@ li {list-style-type: none; }
...
@@ -36,6 +36,7 @@ li {list-style-type: none; }
*
[
The `glob` file path matching library
](
glob/index.html
)
*
[
The `glob` file path matching library
](
glob/index.html
)
*
[
The `green` M:N runtime library
](
green/index.html
)
*
[
The `green` M:N runtime library
](
green/index.html
)
*
[
The `hexfloat` library for hexadecimal floating-point literals
](
hexfloat/index.html
)
*
[
The `hexfloat` library for hexadecimal floating-point literals
](
hexfloat/index.html
)
*
[
The `libc` bindings
](
libc/index.html
)
*
[
The `native` 1:1 threading runtime
](
native/index.html
)
*
[
The `native` 1:1 threading runtime
](
native/index.html
)
*
[
The `num` arbitrary precision numerics library
](
num/index.html
)
*
[
The `num` arbitrary precision numerics library
](
num/index.html
)
*
[
The `rand` library for random numbers and distributions
](
rand/index.html
)
*
[
The `rand` library for random numbers and distributions
](
rand/index.html
)
...
...
src/doc/rust.md
浏览文件 @
0459ee77
...
@@ -1472,11 +1472,13 @@ with the exception that they may not have a body
...
@@ -1472,11 +1472,13 @@ with the exception that they may not have a body
and are instead terminated by a semicolon.
and are instead terminated by a semicolon.
~~~~
~~~~
# use std::libc::{c_char, FILE};
extern crate libc;
use libc::{c_char, FILE};
extern {
extern {
fn fopen(filename: *c_char, mode: *c_char) -> *FILE;
fn fopen(filename: *c_char, mode: *c_char) -> *FILE;
}
}
# fn main() {}
~~~~
~~~~
Functions within external blocks may be called by Rust code,
Functions within external blocks may be called by Rust code,
...
...
src/etc/zsh/_rust
浏览文件 @
0459ee77
...
@@ -40,7 +40,7 @@ _rustc_opts_switches=(
...
@@ -40,7 +40,7 @@ _rustc_opts_switches=(
)
)
_rustc_opts_lint=(
_rustc_opts_lint=(
'attribute-usage[detects bad use of attributes]'
'attribute-usage[detects bad use of attributes]'
'ctypes[proper use of
std::
libc types in foreign modules]'
'ctypes[proper use of libc types in foreign modules]'
'dead-assignment[detect assignments that will never be read]'
'dead-assignment[detect assignments that will never be read]'
'dead-code[detect piece of code that will never be used]'
'dead-code[detect piece of code that will never be used]'
'default-type-param-usage[prevents explicitly setting a type parameter with a default]'
'default-type-param-usage[prevents explicitly setting a type parameter with a default]'
...
...
src/libcollections/hashmap.rs
浏览文件 @
0459ee77
...
@@ -30,11 +30,12 @@
...
@@ -30,11 +30,12 @@
use
std
::
slice
::
ImmutableVector
;
use
std
::
slice
::
ImmutableVector
;
mod
table
{
mod
table
{
extern
crate
libc
;
use
std
::
clone
::
Clone
;
use
std
::
clone
::
Clone
;
use
std
::
cmp
::
Eq
;
use
std
::
cmp
::
Eq
;
use
std
::
hash
::{
Hash
,
Hasher
};
use
std
::
hash
::{
Hash
,
Hasher
};
use
std
::
kinds
::
marker
;
use
std
::
kinds
::
marker
;
use
std
::
libc
;
use
std
::
num
::
CheckedMul
;
use
std
::
num
::
CheckedMul
;
use
std
::
option
::{
Option
,
Some
,
None
};
use
std
::
option
::{
Option
,
Some
,
None
};
use
std
::
prelude
::
Drop
;
use
std
::
prelude
::
Drop
;
...
...
src/libflate/lib.rs
浏览文件 @
0459ee77
...
@@ -26,13 +26,14 @@
...
@@ -26,13 +26,14 @@
#[cfg(test)]
#[phase(syntax,
link)]
extern
crate
log
;
#[cfg(test)]
#[phase(syntax,
link)]
extern
crate
log
;
use
std
::
libc
::{
c_void
,
size_t
,
c_int
}
;
extern
crate
libc
;
use
std
::
libc
;
use
std
::
c_vec
::
CVec
;
use
std
::
c_vec
::
CVec
;
use
libc
::{
c_void
,
size_t
,
c_int
};
pub
mod
rustrt
{
use
std
::
libc
::{
c_int
,
c_void
,
size_t
};
pub
mod
rustrt
{
use
libc
::{
c_void
,
size_t
,
c_int
};
#[link(name
=
"miniz"
,
kind
=
"static"
)]
#[link(name
=
"miniz"
,
kind
=
"static"
)]
extern
{
extern
{
pub
fn
tdefl_compress_mem_to_heap
(
psrc_buf
:
*
c_void
,
pub
fn
tdefl_compress_mem_to_heap
(
psrc_buf
:
*
c_void
,
...
...
src/libgreen/lib.rs
浏览文件 @
0459ee77
...
@@ -199,6 +199,7 @@
...
@@ -199,6 +199,7 @@
#[cfg(test)]
#[phase(syntax,
link)]
extern
crate
log
;
#[cfg(test)]
#[phase(syntax,
link)]
extern
crate
log
;
#[cfg(test)]
extern
crate
rustuv
;
#[cfg(test)]
extern
crate
rustuv
;
extern
crate
rand
;
extern
crate
rand
;
extern
crate
libc
;
use
std
::
mem
::
replace
;
use
std
::
mem
::
replace
;
use
std
::
os
;
use
std
::
os
;
...
...
src/libgreen/macros.rs
浏览文件 @
0459ee77
...
@@ -52,7 +52,7 @@
...
@@ -52,7 +52,7 @@
pub
fn
dumb_println
(
args
:
&
fmt
::
Arguments
)
{
pub
fn
dumb_println
(
args
:
&
fmt
::
Arguments
)
{
use
std
::
io
;
use
std
::
io
;
use
std
::
libc
;
use
libc
;
struct
Stderr
;
struct
Stderr
;
impl
io
::
Writer
for
Stderr
{
impl
io
::
Writer
for
Stderr
{
...
...
src/libgreen/sched.rs
浏览文件 @
0459ee77
...
@@ -976,7 +976,7 @@ fn new_sched_rng() -> XorShiftRng {
...
@@ -976,7 +976,7 @@ fn new_sched_rng() -> XorShiftRng {
}
}
#[cfg(unix)]
#[cfg(unix)]
fn
new_sched_rng
()
->
XorShiftRng
{
fn
new_sched_rng
()
->
XorShiftRng
{
use
std
::
libc
;
use
libc
;
use
std
::
mem
;
use
std
::
mem
;
use
rand
::
SeedableRng
;
use
rand
::
SeedableRng
;
...
...
src/libgreen/stack.rs
浏览文件 @
0459ee77
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
use
std
::
rt
::
env
::
max_cached_stacks
;
use
std
::
rt
::
env
::
max_cached_stacks
;
use
std
::
os
::{
errno
,
page_size
,
MemoryMap
,
MapReadable
,
MapWritable
,
use
std
::
os
::{
errno
,
page_size
,
MemoryMap
,
MapReadable
,
MapWritable
,
MapNonStandardFlags
,
MapVirtual
};
MapNonStandardFlags
,
MapVirtual
};
use
std
::
libc
;
use
libc
;
/// A task's stack. The name "Stack" is a vestige of segmented stacks.
/// A task's stack. The name "Stack" is a vestige of segmented stacks.
pub
struct
Stack
{
pub
struct
Stack
{
...
...
src/liblibc/lib.rs
浏览文件 @
0459ee77
...
@@ -8,26 +8,32 @@
...
@@ -8,26 +8,32 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
#[feature(globs)]
;
#![feature(globs)]
#[crate_id
=
"libc#0.10-pre"
]
;
#![crate_id
=
"libc#0.10-pre"
]
#[experimental]
;
#![experimental]
#![no_std]
// we don't need std, and we can't have std, since it doesn't exist
// yet. std depends on us.
#![crate_type
=
"rlib"
]
#![crate_type
=
"dylib"
]
/*!
/*!
* Bindings for the C standard library and other platform libraries
* Bindings for the C standard library and other platform libraries
*
*
* This module contains bindings to the C standard library,
* **NOTE:** These are *architecture and libc* specific. On Linux, these
* organized into modules by their defining standard.
* bindings are only correct for glibc.
* Additionally, it contains some assorted platform-specific definitions.
* For convenience, most functions and types are reexported from `libc`,
* so `pub use std::*` will import the available
* C bindings as appropriate for the target platform. The exact
* set of functions available are platform specific.
*
*
* *Note* Because these definitions are platform-specific, some may not appear in
* This module contains bindings to the C standard library, organized into
* the generated documentation.
* modules by their defining standard. Additionally, it contains some assorted
* platform-specific definitions. For convenience, most functions and types
* are reexported, so `use libc::*` will import the available C bindings as
* appropriate for the target platform. The exact set of functions available
* are platform specific.
*
*
* We consider the following specs reasonably normative with respect
* *Note:* Because these definitions are platform-specific, some may not appear
* to interoperating with the C standard library (libc/msvcrt):
* in the generated documentation.
*
* We consider the following specs reasonably normative with respect to
* interoperating with the C standard library (libc/msvcrt):
*
*
* * ISO 9899:1990 ('C95', 'ANSI C', 'Standard C'), NA1, 1995.
* * ISO 9899:1990 ('C95', 'ANSI C', 'Standard C'), NA1, 1995.
* * ISO 9899:1999 ('C99' or 'C9x').
* * ISO 9899:1999 ('C99' or 'C9x').
...
@@ -35,10 +41,10 @@
...
@@ -35,10 +41,10 @@
* * ISO 9945:2001 / IEEE 1003.1-2001 ('POSIX:2001', 'SUSv3').
* * ISO 9945:2001 / IEEE 1003.1-2001 ('POSIX:2001', 'SUSv3').
* * ISO 9945:2008 / IEEE 1003.1-2008 ('POSIX:2008', 'SUSv4').
* * ISO 9945:2008 / IEEE 1003.1-2008 ('POSIX:2008', 'SUSv4').
*
*
* Note that any reference to the 1996 revision of POSIX, or any revs
* Note that any reference to the 1996 revision of POSIX, or any revs
between
*
between 1990 (when '88 was approved at ISO) and 2001 (when the next
*
1990 (when '88 was approved at ISO) and 2001 (when the next actual
*
actual revision-revision happened), are merely additions of other
*
revision-revision happened), are merely additions of other chapters (1b and
*
chapters (1b and
1c) outside the core interfaces.
* 1c) outside the core interfaces.
*
*
* Despite having several names each, these are *reasonably* coherent
* Despite having several names each, these are *reasonably* coherent
* point-in-time, list-of-definition sorts of specs. You can get each under a
* point-in-time, list-of-definition sorts of specs. You can get each under a
...
@@ -55,15 +61,13 @@
...
@@ -55,15 +61,13 @@
* sanity while editing, filling-in-details and eliminating duplication) into
* sanity while editing, filling-in-details and eliminating duplication) into
* definitions common-to-all (held in modules named c95, c99, posix88, posix01
* definitions common-to-all (held in modules named c95, c99, posix88, posix01
* and posix08) and definitions that appear only on *some* platforms (named
* and posix08) and definitions that appear only on *some* platforms (named
* 'extra'). This would be things like significant OSX foundation kit, or
* 'extra'). This would be things like significant OSX foundation kit, or win32
* win32 library kernel32.dll, or various fancy glibc, linux or BSD
* library kernel32.dll, or various fancy glibc, linux or BSD extensions.
* extensions.
*
*
* In addition to the per-platform 'extra' modules, we define a module of
* In addition to the per-platform 'extra' modules, we define a module of
* 'common BSD' libc routines that never quite made it into POSIX but show up
* 'common BSD' libc routines that never quite made it into POSIX but show up
* in multiple derived systems. This is the 4.4BSD r2 / 1995 release, the
* in multiple derived systems. This is the 4.4BSD r2 / 1995 release, the final
* final one from Berkeley after the lawsuits died down and the CSRG
* one from Berkeley after the lawsuits died down and the CSRG dissolved.
* dissolved.
*/
*/
#![allow(non_camel_case_types)]
#![allow(non_camel_case_types)]
...
@@ -997,7 +1001,6 @@ pub mod posix08 {
...
@@ -997,7 +1001,6 @@ pub mod posix08 {
pub
mod
bsd44
{
pub
mod
bsd44
{
}
}
pub
mod
extra
{
pub
mod
extra
{
use
ptr
;
use
consts
::
os
::
extra
::{
MAX_PROTOCOL_CHAIN
,
use
consts
::
os
::
extra
::{
MAX_PROTOCOL_CHAIN
,
WSAPROTOCOL_LEN
};
WSAPROTOCOL_LEN
};
use
types
::
common
::
c95
::
c_void
;
use
types
::
common
::
c95
::
c_void
;
...
@@ -1102,24 +1105,6 @@ pub struct SYSTEM_INFO {
...
@@ -1102,24 +1105,6 @@ pub struct SYSTEM_INFO {
}
}
pub
type
LPSYSTEM_INFO
=
*
mut
SYSTEM_INFO
;
pub
type
LPSYSTEM_INFO
=
*
mut
SYSTEM_INFO
;
impl
SYSTEM_INFO
{
pub
fn
new
()
->
SYSTEM_INFO
{
SYSTEM_INFO
{
wProcessorArchitecture
:
0
,
wReserved
:
0
,
dwPageSize
:
0
,
lpMinimumApplicationAddress
:
ptr
::
mut_null
(),
lpMaximumApplicationAddress
:
ptr
::
mut_null
(),
dwActiveProcessorMask
:
0
,
dwNumberOfProcessors
:
0
,
dwProcessorType
:
0
,
dwAllocationGranularity
:
0
,
wProcessorLevel
:
0
,
wProcessorRevision
:
0
}
}
}
pub
struct
MEMORY_BASIC_INFORMATION
{
pub
struct
MEMORY_BASIC_INFORMATION
{
pub
BaseAddress
:
LPVOID
,
pub
BaseAddress
:
LPVOID
,
pub
AllocationBase
:
LPVOID
,
pub
AllocationBase
:
LPVOID
,
...
@@ -3901,12 +3886,11 @@ pub fn waitpid(pid: pid_t, status: *mut c_int, options: c_int)
...
@@ -3901,12 +3886,11 @@ pub fn waitpid(pid: pid_t, status: *mut c_int, options: c_int)
pub
mod
glob
{
pub
mod
glob
{
use
types
::
os
::
arch
::
c95
::{
c_char
,
c_int
};
use
types
::
os
::
arch
::
c95
::{
c_char
,
c_int
};
use
types
::
os
::
common
::
posix01
::{
glob_t
};
use
types
::
os
::
common
::
posix01
::{
glob_t
};
use
Nullable
;
extern
{
extern
{
pub
fn
glob
(
pattern
:
*
c_char
,
pub
fn
glob
(
pattern
:
*
c_char
,
flags
:
c_int
,
flags
:
c_int
,
errfunc
:
Nullable
<
extern
"C"
fn
(
epath
:
*
c_char
,
errno
:
int
)
->
int
>
,
errfunc
:
::
Nullable
<
extern
"C"
fn
(
epath
:
*
c_char
,
errno
:
int
)
->
int
>
,
pglob
:
*
mut
glob_t
);
pglob
:
*
mut
glob_t
);
pub
fn
globfree
(
pglob
:
*
mut
glob_t
);
pub
fn
globfree
(
pglob
:
*
mut
glob_t
);
}
}
...
...
src/libnative/io/addrinfo.rs
浏览文件 @
0459ee77
...
@@ -12,8 +12,8 @@
...
@@ -12,8 +12,8 @@
use
std
::
c_str
::
CString
;
use
std
::
c_str
::
CString
;
use
std
::
cast
;
use
std
::
cast
;
use
std
::
io
::
IoError
;
use
std
::
io
::
IoError
;
use
std
::
libc
;
use
libc
;
use
std
::
libc
::{
c_char
,
c_int
};
use
libc
::{
c_char
,
c_int
};
use
std
::
ptr
::{
null
,
mut_null
};
use
std
::
ptr
::{
null
,
mut_null
};
use
super
::
net
::
sockaddr_to_addr
;
use
super
::
net
::
sockaddr_to_addr
;
...
...
src/libnative/io/file_unix.rs
浏览文件 @
0459ee77
...
@@ -14,8 +14,8 @@
...
@@ -14,8 +14,8 @@
use
std
::
c_str
::
CString
;
use
std
::
c_str
::
CString
;
use
std
::
io
::
IoError
;
use
std
::
io
::
IoError
;
use
std
::
io
;
use
std
::
io
;
use
std
::
libc
::{
c_int
,
c_void
};
use
libc
::{
c_int
,
c_void
};
use
std
::
libc
;
use
libc
;
use
std
::
mem
;
use
std
::
mem
;
use
std
::
rt
::
rtio
;
use
std
::
rt
::
rtio
;
use
std
::
slice
;
use
std
::
slice
;
...
@@ -341,8 +341,8 @@ pub fn mkdir(p: &CString, mode: io::FilePermission) -> IoResult<()> {
...
@@ -341,8 +341,8 @@ pub fn mkdir(p: &CString, mode: io::FilePermission) -> IoResult<()> {
}
}
pub
fn
readdir
(
p
:
&
CString
)
->
IoResult
<~
[
Path
]
>
{
pub
fn
readdir
(
p
:
&
CString
)
->
IoResult
<~
[
Path
]
>
{
use
std
::
libc
::{
dirent_t
};
use
libc
::{
dirent_t
};
use
std
::
libc
::{
opendir
,
readdir_r
,
closedir
};
use
libc
::{
opendir
,
readdir_r
,
closedir
};
fn
prune
(
root
:
&
CString
,
dirs
:
~
[
Path
])
->
~
[
Path
]
{
fn
prune
(
root
:
&
CString
,
dirs
:
~
[
Path
])
->
~
[
Path
]
{
let
root
=
unsafe
{
CString
::
new
(
root
.with_ref
(|
p
|
p
),
false
)
};
let
root
=
unsafe
{
CString
::
new
(
root
.with_ref
(|
p
|
p
),
false
)
};
...
@@ -520,7 +520,7 @@ pub fn utime(p: &CString, atime: u64, mtime: u64) -> IoResult<()> {
...
@@ -520,7 +520,7 @@ pub fn utime(p: &CString, atime: u64, mtime: u64) -> IoResult<()> {
mod
tests
{
mod
tests
{
use
super
::{
CFile
,
FileDesc
};
use
super
::{
CFile
,
FileDesc
};
use
std
::
io
;
use
std
::
io
;
use
std
::
libc
;
use
libc
;
use
std
::
os
;
use
std
::
os
;
use
std
::
rt
::
rtio
::
RtioFileStream
;
use
std
::
rt
::
rtio
::
RtioFileStream
;
...
...
src/libnative/io/file_win32.rs
浏览文件 @
0459ee77
...
@@ -14,8 +14,8 @@
...
@@ -14,8 +14,8 @@
use
std
::
cast
;
use
std
::
cast
;
use
std
::
io
::
IoError
;
use
std
::
io
::
IoError
;
use
std
::
io
;
use
std
::
io
;
use
std
::
libc
::{
c_int
,
c_void
};
use
libc
::{
c_int
,
c_void
};
use
std
::
libc
;
use
libc
;
use
std
::
mem
;
use
std
::
mem
;
use
std
::
os
::
win32
::{
as_utf16_p
,
fill_utf16_buf_and_decode
};
use
std
::
os
::
win32
::{
as_utf16_p
,
fill_utf16_buf_and_decode
};
use
std
::
ptr
;
use
std
::
ptr
;
...
...
src/libnative/io/mod.rs
浏览文件 @
0459ee77
...
@@ -27,8 +27,8 @@
...
@@ -27,8 +27,8 @@
use
std
::
io
::
net
::
ip
::
SocketAddr
;
use
std
::
io
::
net
::
ip
::
SocketAddr
;
use
std
::
io
::
process
::
ProcessConfig
;
use
std
::
io
::
process
::
ProcessConfig
;
use
std
::
io
::
signal
::
Signum
;
use
std
::
io
::
signal
::
Signum
;
use
std
::
libc
::
c_int
;
use
libc
::
c_int
;
use
std
::
libc
;
use
libc
;
use
std
::
os
;
use
std
::
os
;
use
std
::
rt
::
rtio
;
use
std
::
rt
::
rtio
;
use
std
::
rt
::
rtio
::{
RtioTcpStream
,
RtioTcpListener
,
RtioUdpSocket
,
use
std
::
rt
::
rtio
::{
RtioTcpStream
,
RtioTcpListener
,
RtioUdpSocket
,
...
...
src/libnative/io/net.rs
浏览文件 @
0459ee77
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
use
std
::
cast
;
use
std
::
cast
;
use
std
::
io
::
net
::
ip
;
use
std
::
io
::
net
::
ip
;
use
std
::
io
;
use
std
::
io
;
use
std
::
libc
;
use
libc
;
use
std
::
mem
;
use
std
::
mem
;
use
std
::
rt
::
rtio
;
use
std
::
rt
::
rtio
;
use
std
::
sync
::
arc
::
UnsafeArc
;
use
std
::
sync
::
arc
::
UnsafeArc
;
...
...
src/libnative/io/pipe_unix.rs
浏览文件 @
0459ee77
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
use
std
::
c_str
::
CString
;
use
std
::
c_str
::
CString
;
use
std
::
cast
;
use
std
::
cast
;
use
std
::
io
;
use
std
::
io
;
use
std
::
libc
;
use
libc
;
use
std
::
mem
;
use
std
::
mem
;
use
std
::
rt
::
rtio
;
use
std
::
rt
::
rtio
;
use
std
::
sync
::
arc
::
UnsafeArc
;
use
std
::
sync
::
arc
::
UnsafeArc
;
...
...
src/libnative/io/pipe_win32.rs
浏览文件 @
0459ee77
...
@@ -85,7 +85,7 @@
...
@@ -85,7 +85,7 @@
//! me!
//! me!
use
std
::
c_str
::
CString
;
use
std
::
c_str
::
CString
;
use
std
::
libc
;
use
libc
;
use
std
::
os
::
win32
::
as_utf16_p
;
use
std
::
os
::
win32
::
as_utf16_p
;
use
std
::
ptr
;
use
std
::
ptr
;
use
std
::
rt
::
rtio
;
use
std
::
rt
::
rtio
;
...
...
src/libnative/io/process.rs
浏览文件 @
0459ee77
...
@@ -9,8 +9,8 @@
...
@@ -9,8 +9,8 @@
// except according to those terms.
// except according to those terms.
use
std
::
io
;
use
std
::
io
;
use
std
::
libc
::{
pid_t
,
c_void
,
c_int
};
use
libc
::{
pid_t
,
c_void
,
c_int
};
use
std
::
libc
;
use
libc
;
use
std
::
os
;
use
std
::
os
;
use
std
::
ptr
;
use
std
::
ptr
;
use
std
::
rt
::
rtio
;
use
std
::
rt
::
rtio
;
...
@@ -223,20 +223,20 @@ fn spawn_process_os(config: p::ProcessConfig,
...
@@ -223,20 +223,20 @@ fn spawn_process_os(config: p::ProcessConfig,
dir
:
Option
<&
Path
>
,
dir
:
Option
<&
Path
>
,
in_fd
:
c_int
,
out_fd
:
c_int
,
in_fd
:
c_int
,
out_fd
:
c_int
,
err_fd
:
c_int
)
->
IoResult
<
SpawnProcessResult
>
{
err_fd
:
c_int
)
->
IoResult
<
SpawnProcessResult
>
{
use
std
::
libc
::
types
::
os
::
arch
::
extra
::{
DWORD
,
HANDLE
,
STARTUPINFO
};
use
libc
::
types
::
os
::
arch
::
extra
::{
DWORD
,
HANDLE
,
STARTUPINFO
};
use
std
::
libc
::
consts
::
os
::
extra
::{
use
libc
::
consts
::
os
::
extra
::{
TRUE
,
FALSE
,
TRUE
,
FALSE
,
STARTF_USESTDHANDLES
,
STARTF_USESTDHANDLES
,
INVALID_HANDLE_VALUE
,
INVALID_HANDLE_VALUE
,
DUPLICATE_SAME_ACCESS
DUPLICATE_SAME_ACCESS
};
};
use
std
::
libc
::
funcs
::
extra
::
kernel32
::{
use
libc
::
funcs
::
extra
::
kernel32
::{
GetCurrentProcess
,
GetCurrentProcess
,
DuplicateHandle
,
DuplicateHandle
,
CloseHandle
,
CloseHandle
,
CreateProcessA
CreateProcessA
};
};
use
std
::
libc
::
funcs
::
extra
::
msvcrt
::
get_osfhandle
;
use
libc
::
funcs
::
extra
::
msvcrt
::
get_osfhandle
;
use
std
::
mem
;
use
std
::
mem
;
...
@@ -422,9 +422,9 @@ fn spawn_process_os(config: p::ProcessConfig,
...
@@ -422,9 +422,9 @@ fn spawn_process_os(config: p::ProcessConfig,
dir
:
Option
<&
Path
>
,
dir
:
Option
<&
Path
>
,
in_fd
:
c_int
,
out_fd
:
c_int
,
in_fd
:
c_int
,
out_fd
:
c_int
,
err_fd
:
c_int
)
->
IoResult
<
SpawnProcessResult
>
{
err_fd
:
c_int
)
->
IoResult
<
SpawnProcessResult
>
{
use
std
::
libc
::
funcs
::
posix88
::
unistd
::{
fork
,
dup2
,
close
,
chdir
,
execvp
};
use
libc
::
funcs
::
posix88
::
unistd
::{
fork
,
dup2
,
close
,
chdir
,
execvp
};
use
std
::
libc
::
funcs
::
bsd44
::
getdtablesize
;
use
libc
::
funcs
::
bsd44
::
getdtablesize
;
use
std
::
libc
::
c_ulong
;
use
libc
::
c_ulong
;
mod
rustrt
{
mod
rustrt
{
extern
{
extern
{
...
@@ -716,8 +716,8 @@ fn waitpid(pid: pid_t) -> p::ProcessExit {
...
@@ -716,8 +716,8 @@ fn waitpid(pid: pid_t) -> p::ProcessExit {
#[cfg(windows)]
#[cfg(windows)]
fn
waitpid_os
(
pid
:
pid_t
)
->
p
::
ProcessExit
{
fn
waitpid_os
(
pid
:
pid_t
)
->
p
::
ProcessExit
{
use
std
::
libc
::
types
::
os
::
arch
::
extra
::
DWORD
;
use
libc
::
types
::
os
::
arch
::
extra
::
DWORD
;
use
std
::
libc
::
consts
::
os
::
extra
::{
use
libc
::
consts
::
os
::
extra
::{
SYNCHRONIZE
,
SYNCHRONIZE
,
PROCESS_QUERY_INFORMATION
,
PROCESS_QUERY_INFORMATION
,
FALSE
,
FALSE
,
...
@@ -725,7 +725,7 @@ fn waitpid_os(pid: pid_t) -> p::ProcessExit {
...
@@ -725,7 +725,7 @@ fn waitpid_os(pid: pid_t) -> p::ProcessExit {
INFINITE
,
INFINITE
,
WAIT_FAILED
WAIT_FAILED
};
};
use
std
::
libc
::
funcs
::
extra
::
kernel32
::{
use
libc
::
funcs
::
extra
::
kernel32
::{
OpenProcess
,
OpenProcess
,
GetExitCodeProcess
,
GetExitCodeProcess
,
CloseHandle
,
CloseHandle
,
...
@@ -761,7 +761,7 @@ fn waitpid_os(pid: pid_t) -> p::ProcessExit {
...
@@ -761,7 +761,7 @@ fn waitpid_os(pid: pid_t) -> p::ProcessExit {
#[cfg(unix)]
#[cfg(unix)]
fn
waitpid_os
(
pid
:
pid_t
)
->
p
::
ProcessExit
{
fn
waitpid_os
(
pid
:
pid_t
)
->
p
::
ProcessExit
{
use
std
::
libc
::
funcs
::
posix01
::
wait
;
use
libc
::
funcs
::
posix01
::
wait
;
let
mut
status
=
0
as
c_int
;
let
mut
status
=
0
as
c_int
;
match
retry
(||
unsafe
{
wait
::
waitpid
(
pid
,
&
mut
status
,
0
)
})
{
match
retry
(||
unsafe
{
wait
::
waitpid
(
pid
,
&
mut
status
,
0
)
})
{
-
1
=>
fail
!
(
"unknown waitpid error: {}"
,
super
::
last_error
()),
-
1
=>
fail
!
(
"unknown waitpid error: {}"
,
super
::
last_error
()),
...
@@ -779,7 +779,7 @@ fn waitpid_os(_pid: pid_t) -> Option<p::ProcessExit> { None }
...
@@ -779,7 +779,7 @@ fn waitpid_os(_pid: pid_t) -> Option<p::ProcessExit> { None }
#[cfg(unix)]
#[cfg(unix)]
fn
waitpid_os
(
pid
:
pid_t
)
->
Option
<
p
::
ProcessExit
>
{
fn
waitpid_os
(
pid
:
pid_t
)
->
Option
<
p
::
ProcessExit
>
{
use
std
::
libc
::
funcs
::
posix01
::
wait
;
use
libc
::
funcs
::
posix01
::
wait
;
let
mut
status
=
0
as
c_int
;
let
mut
status
=
0
as
c_int
;
match
retry
(||
unsafe
{
match
retry
(||
unsafe
{
wait
::
waitpid
(
pid
,
&
mut
status
,
libc
::
WNOHANG
)
wait
::
waitpid
(
pid
,
&
mut
status
,
libc
::
WNOHANG
)
...
...
src/libnative/io/timer_helper.rs
浏览文件 @
0459ee77
...
@@ -94,7 +94,7 @@ fn shutdown() {
...
@@ -94,7 +94,7 @@ fn shutdown() {
#[cfg(unix)]
#[cfg(unix)]
mod
imp
{
mod
imp
{
use
std
::
libc
;
use
libc
;
use
std
::
os
;
use
std
::
os
;
use
io
::
file
::
FileDesc
;
use
io
::
file
::
FileDesc
;
...
@@ -117,9 +117,9 @@ pub fn close(fd: libc::c_int) {
...
@@ -117,9 +117,9 @@ pub fn close(fd: libc::c_int) {
#[cfg(windows)]
#[cfg(windows)]
mod
imp
{
mod
imp
{
use
std
::
libc
::{
BOOL
,
LPCSTR
,
HANDLE
,
LPSECURITY_ATTRIBUTES
,
CloseHandle
};
use
libc
::{
BOOL
,
LPCSTR
,
HANDLE
,
LPSECURITY_ATTRIBUTES
,
CloseHandle
};
use
std
::
ptr
;
use
std
::
ptr
;
use
std
::
libc
;
use
libc
;
pub
type
signal
=
HANDLE
;
pub
type
signal
=
HANDLE
;
...
...
src/libnative/io/timer_other.rs
浏览文件 @
0459ee77
...
@@ -47,7 +47,7 @@
...
@@ -47,7 +47,7 @@
//! Note that all time units in this file are in *milliseconds*.
//! Note that all time units in this file are in *milliseconds*.
use
std
::
comm
::
Data
;
use
std
::
comm
::
Data
;
use
std
::
libc
;
use
libc
;
use
std
::
mem
;
use
std
::
mem
;
use
std
::
os
;
use
std
::
os
;
use
std
::
ptr
;
use
std
::
ptr
;
...
@@ -287,7 +287,7 @@ fn drop(&mut self) {
...
@@ -287,7 +287,7 @@ fn drop(&mut self) {
#[cfg(target_os
=
"macos"
)]
#[cfg(target_os
=
"macos"
)]
mod
imp
{
mod
imp
{
use
std
::
libc
;
use
libc
;
pub
static
FD_SETSIZE
:
uint
=
1024
;
pub
static
FD_SETSIZE
:
uint
=
1024
;
...
@@ -314,7 +314,7 @@ pub fn gettimeofday(timeval: *mut libc::timeval,
...
@@ -314,7 +314,7 @@ pub fn gettimeofday(timeval: *mut libc::timeval,
#[cfg(target_os
=
"android"
)]
#[cfg(target_os
=
"android"
)]
#[cfg(target_os
=
"freebsd"
)]
#[cfg(target_os
=
"freebsd"
)]
mod
imp
{
mod
imp
{
use
std
::
libc
;
use
libc
;
pub
static
FD_SETSIZE
:
uint
=
1024
;
pub
static
FD_SETSIZE
:
uint
=
1024
;
...
...
src/libnative/io/timer_timerfd.rs
浏览文件 @
0459ee77
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
//! As with timer_other, all units in this file are in units of millseconds.
//! As with timer_other, all units in this file are in units of millseconds.
use
std
::
comm
::
Data
;
use
std
::
comm
::
Data
;
use
std
::
libc
;
use
libc
;
use
std
::
ptr
;
use
std
::
ptr
;
use
std
::
os
;
use
std
::
os
;
use
std
::
rt
::
rtio
;
use
std
::
rt
::
rtio
;
...
@@ -267,7 +267,7 @@ fn drop(&mut self) {
...
@@ -267,7 +267,7 @@ fn drop(&mut self) {
#[allow(dead_code)]
#[allow(dead_code)]
mod
imp
{
mod
imp
{
use
std
::
libc
;
use
libc
;
pub
static
CLOCK_MONOTONIC
:
libc
::
c_int
=
1
;
pub
static
CLOCK_MONOTONIC
:
libc
::
c_int
=
1
;
pub
static
EPOLL_CTL_ADD
:
libc
::
c_int
=
1
;
pub
static
EPOLL_CTL_ADD
:
libc
::
c_int
=
1
;
...
...
src/libnative/io/timer_win32.rs
浏览文件 @
0459ee77
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
//! the other two implementations of timers with nothing *that* new showing up.
//! the other two implementations of timers with nothing *that* new showing up.
use
std
::
comm
::
Data
;
use
std
::
comm
::
Data
;
use
std
::
libc
;
use
libc
;
use
std
::
ptr
;
use
std
::
ptr
;
use
std
::
rt
::
rtio
;
use
std
::
rt
::
rtio
;
...
@@ -178,7 +178,7 @@ fn drop(&mut self) {
...
@@ -178,7 +178,7 @@ fn drop(&mut self) {
}
}
mod
imp
{
mod
imp
{
use
std
::
libc
::{
LPSECURITY_ATTRIBUTES
,
BOOL
,
LPCSTR
,
HANDLE
,
LARGE_INTEGER
,
use
libc
::{
LPSECURITY_ATTRIBUTES
,
BOOL
,
LPCSTR
,
HANDLE
,
LARGE_INTEGER
,
LONG
,
LPVOID
,
DWORD
,
c_void
};
LONG
,
LPVOID
,
DWORD
,
c_void
};
pub
type
PTIMERAPCROUTINE
=
*
c_void
;
pub
type
PTIMERAPCROUTINE
=
*
c_void
;
...
...
src/libnative/lib.rs
浏览文件 @
0459ee77
...
@@ -57,6 +57,8 @@
...
@@ -57,6 +57,8 @@
// consider whether they're needed before adding that feature here (the
// consider whether they're needed before adding that feature here (the
// answer is that you don't need them)
// answer is that you don't need them)
extern
crate
libc
;
use
std
::
os
;
use
std
::
os
;
use
std
::
rt
;
use
std
::
rt
;
use
std
::
str
;
use
std
::
str
;
...
@@ -109,8 +111,8 @@ pub fn start(argc: int, argv: **u8, main: proc()) -> int {
...
@@ -109,8 +111,8 @@ pub fn start(argc: int, argv: **u8, main: proc()) -> int {
// prevent this problem.
// prevent this problem.
#[cfg(windows)]
fn
ignore_sigpipe
()
{}
#[cfg(windows)]
fn
ignore_sigpipe
()
{}
#[cfg(unix)]
fn
ignore_sigpipe
()
{
#[cfg(unix)]
fn
ignore_sigpipe
()
{
use
std
::
libc
;
use
libc
;
use
std
::
libc
::
funcs
::
posix01
::
signal
::
signal
;
use
libc
::
funcs
::
posix01
::
signal
::
signal
;
unsafe
{
unsafe
{
assert
!
(
signal
(
libc
::
SIGPIPE
,
libc
::
SIG_IGN
)
!=
-
1
);
assert
!
(
signal
(
libc
::
SIGPIPE
,
libc
::
SIG_IGN
)
!=
-
1
);
}
}
...
...
src/librand/os.rs
浏览文件 @
0459ee77
...
@@ -58,12 +58,14 @@ fn fill_bytes(&mut self, v: &mut [u8]) {
...
@@ -58,12 +58,14 @@ fn fill_bytes(&mut self, v: &mut [u8]) {
#[cfg(windows)]
#[cfg(windows)]
mod
imp
{
mod
imp
{
extern
crate
libc
;
use
Rng
;
use
Rng
;
use
std
::
cast
;
use
std
::
cast
;
use
std
::
io
::{
IoResult
,
IoError
};
use
std
::
io
::{
IoResult
,
IoError
};
use
std
::
libc
::{
c_ulong
,
DWORD
,
BYTE
,
LPCSTR
,
BOOL
};
use
std
::
os
;
use
std
::
os
;
use
std
::
rt
::
stack
;
use
std
::
rt
::
stack
;
use
self
::
libc
::{
c_ulong
,
DWORD
,
BYTE
,
LPCSTR
,
BOOL
};
type
HCRYPTPROV
=
c_ulong
;
type
HCRYPTPROV
=
c_ulong
;
...
...
src/librustc/back/archive.rs
浏览文件 @
0459ee77
...
@@ -18,7 +18,7 @@
...
@@ -18,7 +18,7 @@
use
std
::
cast
;
use
std
::
cast
;
use
std
::
io
;
use
std
::
io
;
use
std
::
io
::{
fs
,
TempDir
};
use
std
::
io
::{
fs
,
TempDir
};
use
std
::
libc
;
use
libc
;
use
std
::
os
;
use
std
::
os
;
use
std
::
io
::
process
::{
ProcessConfig
,
Process
,
ProcessOutput
};
use
std
::
io
::
process
::{
ProcessConfig
,
Process
,
ProcessOutput
};
use
std
::
str
;
use
std
::
str
;
...
...
src/librustc/back/link.rs
浏览文件 @
0459ee77
...
@@ -102,7 +102,7 @@ pub mod write {
...
@@ -102,7 +102,7 @@ pub mod write {
use
std
::
c_str
::
ToCStr
;
use
std
::
c_str
::
ToCStr
;
use
std
::
io
::
Process
;
use
std
::
io
::
Process
;
use
std
::
libc
::{
c_uint
,
c_int
};
use
libc
::{
c_uint
,
c_int
};
use
std
::
str
;
use
std
::
str
;
// On android, we by default compile for armv7 processors. This enables
// On android, we by default compile for armv7 processors. This enables
...
...
src/librustc/back/lto.rs
浏览文件 @
0459ee77
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
use
metadata
::
cstore
;
use
metadata
::
cstore
;
use
util
::
common
::
time
;
use
util
::
common
::
time
;
use
std
::
libc
;
use
libc
;
use
flate
;
use
flate
;
pub
fn
run
(
sess
:
&
session
::
Session
,
llmod
:
ModuleRef
,
pub
fn
run
(
sess
:
&
session
::
Session
,
llmod
:
ModuleRef
,
...
...
src/librustc/lib.rs
浏览文件 @
0459ee77
...
@@ -42,6 +42,8 @@
...
@@ -42,6 +42,8 @@
extern
crate
getopts
;
extern
crate
getopts
;
extern
crate
collections
;
extern
crate
collections
;
extern
crate
time
;
extern
crate
time
;
extern
crate
libc
;
#[phase(syntax,
link)]
#[phase(syntax,
link)]
extern
crate
log
;
extern
crate
log
;
...
...
src/librustc/lib/llvm.rs
浏览文件 @
0459ee77
...
@@ -15,7 +15,7 @@
...
@@ -15,7 +15,7 @@
use
std
::
c_str
::
ToCStr
;
use
std
::
c_str
::
ToCStr
;
use
std
::
cell
::
RefCell
;
use
std
::
cell
::
RefCell
;
use
collections
::
HashMap
;
use
collections
::
HashMap
;
use
std
::
libc
::{
c_uint
,
c_ushort
,
c_void
,
free
};
use
libc
::{
c_uint
,
c_ushort
,
c_void
,
free
};
use
std
::
str
::
raw
::
from_c_str
;
use
std
::
str
::
raw
::
from_c_str
;
use
middle
::
trans
::
type_
::
Type
;
use
middle
::
trans
::
type_
::
Type
;
...
@@ -307,7 +307,7 @@ pub mod llvm {
...
@@ -307,7 +307,7 @@ pub mod llvm {
use
super
::{
ValueRef
,
TargetMachineRef
,
FileType
,
ArchiveRef
};
use
super
::{
ValueRef
,
TargetMachineRef
,
FileType
,
ArchiveRef
};
use
super
::{
CodeGenModel
,
RelocMode
,
CodeGenOptLevel
};
use
super
::{
CodeGenModel
,
RelocMode
,
CodeGenOptLevel
};
use
super
::
debuginfo
::
*
;
use
super
::
debuginfo
::
*
;
use
std
::
libc
::{
c_char
,
c_int
,
c_longlong
,
c_ushort
,
c_uint
,
c_ulonglong
,
use
libc
::{
c_char
,
c_int
,
c_longlong
,
c_ushort
,
c_uint
,
c_ulonglong
,
size_t
};
size_t
};
// Link to our native llvm bindings (things that we need to use the C++ api
// Link to our native llvm bindings (things that we need to use the C++ api
...
...
src/librustc/middle/astencode.rs
浏览文件 @
0459ee77
...
@@ -34,7 +34,7 @@
...
@@ -34,7 +34,7 @@
use
syntax
::
parse
::
token
;
use
syntax
::
parse
::
token
;
use
syntax
;
use
syntax
;
use
std
::
libc
;
use
libc
;
use
std
::
cast
;
use
std
::
cast
;
use
std
::
cell
::
RefCell
;
use
std
::
cell
::
RefCell
;
use
std
::
io
::
Seek
;
use
std
::
io
::
Seek
;
...
...
src/librustc/middle/lint.rs
浏览文件 @
0459ee77
...
@@ -154,7 +154,7 @@ enum LintSource {
...
@@ -154,7 +154,7 @@ enum LintSource {
(
"ctypes"
,
(
"ctypes"
,
LintSpec
{
LintSpec
{
lint
:
CTypes
,
lint
:
CTypes
,
desc
:
"proper use of
std::
libc types in foreign modules"
,
desc
:
"proper use of libc types in foreign modules"
,
default
:
warn
default
:
warn
}),
}),
...
...
src/librustc/middle/trans/adt.rs
浏览文件 @
0459ee77
...
@@ -44,7 +44,7 @@
...
@@ -44,7 +44,7 @@
*/
*/
use
std
::
container
::
Map
;
use
std
::
container
::
Map
;
use
std
::
libc
::
c_ulonglong
;
use
libc
::
c_ulonglong
;
use
std
::
option
::{
Option
,
Some
,
None
};
use
std
::
option
::{
Option
,
Some
,
None
};
use
std
::
num
::{
Bitwise
};
use
std
::
num
::{
Bitwise
};
...
...
src/librustc/middle/trans/base.rs
浏览文件 @
0459ee77
...
@@ -72,9 +72,9 @@
...
@@ -72,9 +72,9 @@
use
util
::
nodemap
::
NodeMap
;
use
util
::
nodemap
::
NodeMap
;
use
arena
::
TypedArena
;
use
arena
::
TypedArena
;
use
libc
::
c_uint
;
use
std
::
c_str
::
ToCStr
;
use
std
::
c_str
::
ToCStr
;
use
std
::
cell
::{
Cell
,
RefCell
};
use
std
::
cell
::{
Cell
,
RefCell
};
use
std
::
libc
::
c_uint
;
use
std
::
local_data
;
use
std
::
local_data
;
use
syntax
::
abi
::{
X86
,
X86_64
,
Arm
,
Mips
,
Rust
,
RustIntrinsic
};
use
syntax
::
abi
::{
X86
,
X86_64
,
Arm
,
Mips
,
Rust
,
RustIntrinsic
};
use
syntax
::
ast_util
::{
local_def
,
is_local
};
use
syntax
::
ast_util
::{
local_def
,
is_local
};
...
...
src/librustc/middle/trans/build.rs
浏览文件 @
0459ee77
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
use
middle
::
trans
::
builder
::
Builder
;
use
middle
::
trans
::
builder
::
Builder
;
use
middle
::
trans
::
type_
::
Type
;
use
middle
::
trans
::
type_
::
Type
;
use
std
::
libc
::{
c_uint
,
c_ulonglong
,
c_char
};
use
libc
::{
c_uint
,
c_ulonglong
,
c_char
};
pub
fn
terminate
(
cx
:
&
Block
,
_
:
&
str
)
{
pub
fn
terminate
(
cx
:
&
Block
,
_
:
&
str
)
{
debug!
(
"terminate({})"
,
cx
.to_str
());
debug!
(
"terminate({})"
,
cx
.to_str
());
...
...
src/librustc/middle/trans/builder.rs
浏览文件 @
0459ee77
...
@@ -19,9 +19,9 @@
...
@@ -19,9 +19,9 @@
use
middle
::
trans
::
common
::
*
;
use
middle
::
trans
::
common
::
*
;
use
middle
::
trans
::
machine
::
llalign_of_pref
;
use
middle
::
trans
::
machine
::
llalign_of_pref
;
use
middle
::
trans
::
type_
::
Type
;
use
middle
::
trans
::
type_
::
Type
;
use
collections
::
HashMap
;
use
collections
::
HashMap
;
use
std
::
libc
::{
c_uint
,
c_ulonglong
,
c_char
};
use
std
::
vec
::
Vec
;
use
libc
::{
c_uint
,
c_ulonglong
,
c_char
};
use
syntax
::
codemap
::
Span
;
use
syntax
::
codemap
::
Span
;
pub
struct
Builder
<
'a
>
{
pub
struct
Builder
<
'a
>
{
...
...
src/librustc/middle/trans/cabi_mips.rs
浏览文件 @
0459ee77
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
#![allow(non_uppercase_pattern_statics)]
#![allow(non_uppercase_pattern_statics)]
use
std
::
libc
::
c_uint
;
use
libc
::
c_uint
;
use
std
::
cmp
;
use
std
::
cmp
;
use
lib
::
llvm
::{
llvm
,
Integer
,
Pointer
,
Float
,
Double
,
Struct
,
Array
};
use
lib
::
llvm
::{
llvm
,
Integer
,
Pointer
,
Float
,
Double
,
Struct
,
Array
};
use
lib
::
llvm
::
StructRetAttribute
;
use
lib
::
llvm
::
StructRetAttribute
;
...
...
src/librustc/middle/trans/common.rs
浏览文件 @
0459ee77
...
@@ -31,9 +31,10 @@
...
@@ -31,9 +31,10 @@
use
arena
::
TypedArena
;
use
arena
::
TypedArena
;
use
collections
::
HashMap
;
use
collections
::
HashMap
;
use
libc
::{
c_uint
,
c_longlong
,
c_ulonglong
,
c_char
};
use
std
::
c_str
::
ToCStr
;
use
std
::
c_str
::
ToCStr
;
use
std
::
cell
::{
Cell
,
RefCell
};
use
std
::
cell
::{
Cell
,
RefCell
};
use
std
::
libc
::{
c_uint
,
c_longlong
,
c_ulonglong
,
c_char
}
;
use
std
::
vec
::
Vec
;
use
syntax
::
ast
::
Ident
;
use
syntax
::
ast
::
Ident
;
use
syntax
::
ast
;
use
syntax
::
ast
;
use
syntax
::
ast_map
::{
PathElem
,
PathName
};
use
syntax
::
ast_map
::{
PathElem
,
PathName
};
...
...
src/librustc/middle/trans/consts.rs
浏览文件 @
0459ee77
...
@@ -33,9 +33,9 @@
...
@@ -33,9 +33,9 @@
use
util
::
ppaux
::{
Repr
,
ty_to_str
};
use
util
::
ppaux
::{
Repr
,
ty_to_str
};
use
std
::
c_str
::
ToCStr
;
use
std
::
c_str
::
ToCStr
;
use
std
::
libc
::
c_uint
;
use
std
::
slice
;
use
std
::
slice
;
use
std
::
vec
::
Vec
;
use
std
::
vec
::
Vec
;
use
libc
::
c_uint
;
use
syntax
::{
ast
,
ast_util
};
use
syntax
::{
ast
,
ast_util
};
pub
fn
const_lit
(
cx
:
&
CrateContext
,
e
:
&
ast
::
Expr
,
lit
:
ast
::
Lit
)
pub
fn
const_lit
(
cx
:
&
CrateContext
,
e
:
&
ast
::
Expr
,
lit
:
ast
::
Lit
)
...
...
src/librustc/middle/trans/context.rs
浏览文件 @
0459ee77
...
@@ -27,7 +27,6 @@
...
@@ -27,7 +27,6 @@
use
util
::
sha2
::
Sha256
;
use
util
::
sha2
::
Sha256
;
use
util
::
nodemap
::{
NodeMap
,
NodeSet
,
DefIdMap
};
use
util
::
nodemap
::{
NodeMap
,
NodeSet
,
DefIdMap
};
use
libc
::
c_uint
;
use
std
::
cell
::{
Cell
,
RefCell
};
use
std
::
cell
::{
Cell
,
RefCell
};
use
std
::
c_str
::
ToCStr
;
use
std
::
c_str
::
ToCStr
;
use
std
::
ptr
;
use
std
::
ptr
;
...
...
src/librustc/middle/trans/debuginfo.rs
浏览文件 @
0459ee77
...
@@ -145,7 +145,7 @@ struct List {
...
@@ -145,7 +145,7 @@ struct List {
use
std
::
cell
::{
Cell
,
RefCell
};
use
std
::
cell
::{
Cell
,
RefCell
};
use
collections
::
HashMap
;
use
collections
::
HashMap
;
use
collections
::
HashSet
;
use
collections
::
HashSet
;
use
std
::
libc
::{
c_uint
,
c_ulonglong
,
c_longlong
};
use
libc
::{
c_uint
,
c_ulonglong
,
c_longlong
};
use
std
::
ptr
;
use
std
::
ptr
;
use
std
::
sync
::
atomics
;
use
std
::
sync
::
atomics
;
use
std
::
slice
;
use
std
::
slice
;
...
...
src/librustc/middle/trans/foreign.rs
浏览文件 @
0459ee77
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
use
middle
::
ty
::
FnSig
;
use
middle
::
ty
::
FnSig
;
use
middle
::
ty
;
use
middle
::
ty
;
use
std
::
cmp
;
use
std
::
cmp
;
use
std
::
libc
::
c_uint
;
use
libc
::
c_uint
;
use
syntax
::
abi
::{
Cdecl
,
Aapcs
,
C
,
Win64
,
Abi
};
use
syntax
::
abi
::{
Cdecl
,
Aapcs
,
C
,
Win64
,
Abi
};
use
syntax
::
abi
::{
RustIntrinsic
,
Rust
,
Stdcall
,
Fastcall
,
System
};
use
syntax
::
abi
::{
RustIntrinsic
,
Rust
,
Stdcall
,
Fastcall
,
System
};
use
syntax
::
codemap
::
Span
;
use
syntax
::
codemap
::
Span
;
...
...
src/librustc/middle/trans/glue.rs
浏览文件 @
0459ee77
...
@@ -38,7 +38,7 @@
...
@@ -38,7 +38,7 @@
use
arena
::
TypedArena
;
use
arena
::
TypedArena
;
use
std
::
c_str
::
ToCStr
;
use
std
::
c_str
::
ToCStr
;
use
std
::
cell
::
Cell
;
use
std
::
cell
::
Cell
;
use
std
::
libc
::
c_uint
;
use
libc
::
c_uint
;
use
syntax
::
ast
;
use
syntax
::
ast
;
use
syntax
::
parse
::
token
;
use
syntax
::
parse
::
token
;
...
...
src/librustc/middle/trans/reflect.rs
浏览文件 @
0459ee77
...
@@ -26,7 +26,7 @@
...
@@ -26,7 +26,7 @@
use
util
::
ppaux
::
ty_to_str
;
use
util
::
ppaux
::
ty_to_str
;
use
arena
::
TypedArena
;
use
arena
::
TypedArena
;
use
std
::
libc
::
c_uint
;
use
libc
::
c_uint
;
use
syntax
::
ast
::
DefId
;
use
syntax
::
ast
::
DefId
;
use
syntax
::
ast
;
use
syntax
::
ast
;
use
syntax
::
ast_map
;
use
syntax
::
ast_map
;
...
...
src/librustc/middle/trans/type_.rs
浏览文件 @
0459ee77
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
use
std
::
c_str
::
ToCStr
;
use
std
::
c_str
::
ToCStr
;
use
std
::
cast
;
use
std
::
cast
;
use
std
::
libc
::{
c_uint
};
use
libc
::{
c_uint
};
#[deriving(Clone,
Eq,
Show)]
#[deriving(Clone,
Eq,
Show)]
pub
struct
Type
{
pub
struct
Type
{
...
...
src/librustc/middle/trans/value.rs
浏览文件 @
0459ee77
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
use
lib
::
llvm
::{
llvm
,
UseRef
,
ValueRef
};
use
lib
::
llvm
::{
llvm
,
UseRef
,
ValueRef
};
use
middle
::
trans
::
basic_block
::
BasicBlock
;
use
middle
::
trans
::
basic_block
::
BasicBlock
;
use
middle
::
trans
::
common
::
Block
;
use
middle
::
trans
::
common
::
Block
;
use
std
::
libc
::
c_uint
;
use
libc
::
c_uint
;
pub
struct
Value
(
pub
ValueRef
);
pub
struct
Value
(
pub
ValueRef
);
...
...
src/librustdoc/flock.rs
浏览文件 @
0459ee77
...
@@ -18,13 +18,14 @@
...
@@ -18,13 +18,14 @@
pub
use
self
::
imp
::
Lock
;
pub
use
self
::
imp
::
Lock
;
#[cfg(unix)]
#[cfg(unix)]
mod
imp
{
mod
imp
{
use
std
::
libc
;
use
libc
;
#[cfg(target_os
=
"linux"
)]
#[cfg(target_os
=
"linux"
)]
mod
os
{
mod
os
{
use
std
::
libc
;
use
libc
;
pub
struct
flock
{
pub
struct
flock
{
pub
l_type
:
libc
::
c_short
,
pub
l_type
:
libc
::
c_short
,
...
@@ -45,7 +46,7 @@ pub struct flock {
...
@@ -45,7 +46,7 @@ pub struct flock {
#[cfg(target_os
=
"freebsd"
)]
#[cfg(target_os
=
"freebsd"
)]
mod
os
{
mod
os
{
use
std
::
libc
;
use
libc
;
pub
struct
flock
{
pub
struct
flock
{
pub
l_start
:
libc
::
off_t
,
pub
l_start
:
libc
::
off_t
,
...
@@ -64,7 +65,7 @@ pub struct flock {
...
@@ -64,7 +65,7 @@ pub struct flock {
#[cfg(target_os
=
"macos"
)]
#[cfg(target_os
=
"macos"
)]
mod
os
{
mod
os
{
use
std
::
libc
;
use
libc
;
pub
struct
flock
{
pub
struct
flock
{
pub
l_start
:
libc
::
off_t
,
pub
l_start
:
libc
::
off_t
,
...
@@ -132,7 +133,7 @@ fn drop(&mut self) {
...
@@ -132,7 +133,7 @@ fn drop(&mut self) {
#[cfg(windows)]
#[cfg(windows)]
mod
imp
{
mod
imp
{
use
std
::
libc
;
use
libc
;
use
std
::
mem
;
use
std
::
mem
;
use
std
::
os
::
win32
::
as_utf16_p
;
use
std
::
os
::
win32
::
as_utf16_p
;
use
std
::
os
;
use
std
::
os
;
...
...
src/librustdoc/html/markdown.rs
浏览文件 @
0459ee77
...
@@ -26,10 +26,10 @@
...
@@ -26,10 +26,10 @@
#![allow(non_camel_case_types)]
#![allow(non_camel_case_types)]
use
libc
;
use
std
::
cast
;
use
std
::
cast
;
use
std
::
fmt
;
use
std
::
fmt
;
use
std
::
io
;
use
std
::
io
;
use
std
::
libc
;
use
std
::
local_data
;
use
std
::
local_data
;
use
std
::
mem
;
use
std
::
mem
;
use
std
::
str
;
use
std
::
str
;
...
...
src/librustdoc/lib.rs
浏览文件 @
0459ee77
...
@@ -26,6 +26,7 @@
...
@@ -26,6 +26,7 @@
extern
crate
time
;
extern
crate
time
;
#[phase(syntax,
link)]
#[phase(syntax,
link)]
extern
crate
log
;
extern
crate
log
;
extern
crate
libc
;
use
std
::
local_data
;
use
std
::
local_data
;
use
std
::
io
;
use
std
::
io
;
...
...
src/librustuv/addrinfo.rs
浏览文件 @
0459ee77
...
@@ -10,8 +10,8 @@
...
@@ -10,8 +10,8 @@
use
ai
=
std
::
io
::
net
::
addrinfo
;
use
ai
=
std
::
io
::
net
::
addrinfo
;
use
std
::
cast
;
use
std
::
cast
;
use
std
::
libc
;
use
libc
;
use
std
::
libc
::
c_int
;
use
libc
::
c_int
;
use
std
::
ptr
::
null
;
use
std
::
ptr
::
null
;
use
std
::
rt
::
task
::
BlockedTask
;
use
std
::
rt
::
task
::
BlockedTask
;
...
...
src/librustuv/async.rs
浏览文件 @
0459ee77
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
// except according to those terms.
// except according to those terms.
use
std
::
cast
;
use
std
::
cast
;
use
std
::
libc
::
c_int
;
use
libc
::
c_int
;
use
std
::
rt
::
rtio
::{
Callback
,
RemoteCallback
};
use
std
::
rt
::
rtio
::{
Callback
,
RemoteCallback
};
use
std
::
unstable
::
sync
::
Exclusive
;
use
std
::
unstable
::
sync
::
Exclusive
;
...
...
src/librustuv/file.rs
浏览文件 @
0459ee77
...
@@ -12,8 +12,8 @@
...
@@ -12,8 +12,8 @@
use
std
::
c_str
;
use
std
::
c_str
;
use
std
::
cast
::
transmute
;
use
std
::
cast
::
transmute
;
use
std
::
cast
;
use
std
::
cast
;
use
std
::
libc
::{
c_int
,
c_char
,
c_void
,
size_t
,
ssize_t
};
use
libc
::{
c_int
,
c_char
,
c_void
,
size_t
,
ssize_t
};
use
std
::
libc
;
use
libc
;
use
std
::
rt
::
task
::
BlockedTask
;
use
std
::
rt
::
task
::
BlockedTask
;
use
std
::
io
::{
FileStat
,
IoError
};
use
std
::
io
::{
FileStat
,
IoError
};
use
std
::
io
;
use
std
::
io
;
...
@@ -434,7 +434,7 @@ fn pwrite(&mut self, buf: &[u8], offset: u64) -> Result<(), IoError> {
...
@@ -434,7 +434,7 @@ fn pwrite(&mut self, buf: &[u8], offset: u64) -> Result<(), IoError> {
self
.base_write
(
buf
,
offset
as
i64
)
self
.base_write
(
buf
,
offset
as
i64
)
}
}
fn
seek
(
&
mut
self
,
pos
:
i64
,
whence
:
io
::
SeekStyle
)
->
Result
<
u64
,
IoError
>
{
fn
seek
(
&
mut
self
,
pos
:
i64
,
whence
:
io
::
SeekStyle
)
->
Result
<
u64
,
IoError
>
{
use
std
::
libc
::{
SEEK_SET
,
SEEK_CUR
,
SEEK_END
};
use
libc
::{
SEEK_SET
,
SEEK_CUR
,
SEEK_END
};
let
whence
=
match
whence
{
let
whence
=
match
whence
{
io
::
SeekSet
=>
SEEK_SET
,
io
::
SeekSet
=>
SEEK_SET
,
io
::
SeekCur
=>
SEEK_CUR
,
io
::
SeekCur
=>
SEEK_CUR
,
...
@@ -443,7 +443,7 @@ fn seek(&mut self, pos: i64, whence: io::SeekStyle) -> Result<u64, IoError> {
...
@@ -443,7 +443,7 @@ fn seek(&mut self, pos: i64, whence: io::SeekStyle) -> Result<u64, IoError> {
self
.seek_common
(
pos
,
whence
)
self
.seek_common
(
pos
,
whence
)
}
}
fn
tell
(
&
self
)
->
Result
<
u64
,
IoError
>
{
fn
tell
(
&
self
)
->
Result
<
u64
,
IoError
>
{
use
std
::
libc
::
SEEK_CUR
;
use
libc
::
SEEK_CUR
;
// this is temporary
// this is temporary
let
self_
=
unsafe
{
cast
::
transmute_mut
(
self
)
};
let
self_
=
unsafe
{
cast
::
transmute_mut
(
self
)
};
self_
.seek_common
(
0
,
SEEK_CUR
)
self_
.seek_common
(
0
,
SEEK_CUR
)
...
@@ -465,8 +465,8 @@ fn truncate(&mut self, offset: i64) -> Result<(), IoError> {
...
@@ -465,8 +465,8 @@ fn truncate(&mut self, offset: i64) -> Result<(), IoError> {
#[cfg(test)]
#[cfg(test)]
mod
test
{
mod
test
{
use
std
::
libc
::
c_int
;
use
libc
::
c_int
;
use
std
::
libc
::{
O_CREAT
,
O_RDWR
,
O_RDONLY
,
S_IWUSR
,
S_IRUSR
};
use
libc
::{
O_CREAT
,
O_RDWR
,
O_RDONLY
,
S_IWUSR
,
S_IRUSR
};
use
std
::
io
;
use
std
::
io
;
use
std
::
str
;
use
std
::
str
;
use
std
::
slice
;
use
std
::
slice
;
...
...
src/librustuv/idle.rs
浏览文件 @
0459ee77
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
// except according to those terms.
// except according to those terms.
use
std
::
cast
;
use
std
::
cast
;
use
std
::
libc
::{
c_int
,
c_void
};
use
libc
::{
c_int
,
c_void
};
use
uvll
;
use
uvll
;
use
super
::{
Loop
,
UvHandle
};
use
super
::{
Loop
,
UvHandle
};
...
...
src/librustuv/lib.rs
浏览文件 @
0459ee77
...
@@ -45,12 +45,13 @@
...
@@ -45,12 +45,13 @@
#[cfg(test)]
extern
crate
green
;
#[cfg(test)]
extern
crate
green
;
#[cfg(test)]
extern
crate
realrustuv
=
"rustuv"
;
#[cfg(test)]
extern
crate
realrustuv
=
"rustuv"
;
extern
crate
libc
;
use
std
::
cast
;
use
std
::
cast
;
use
std
::
fmt
;
use
std
::
fmt
;
use
std
::
io
::
IoError
;
use
std
::
io
::
IoError
;
use
std
::
io
;
use
std
::
io
;
use
std
::
libc
::{
c_int
,
c_void
};
use
libc
::{
c_int
,
c_void
};
use
std
::
ptr
::
null
;
use
std
::
ptr
::
null
;
use
std
::
ptr
;
use
std
::
ptr
;
use
std
::
rt
::
local
::
Local
;
use
std
::
rt
::
local
::
Local
;
...
...
src/librustuv/macros.rs
浏览文件 @
0459ee77
...
@@ -29,7 +29,7 @@
...
@@ -29,7 +29,7 @@
pub
fn
dumb_println
(
args
:
&
fmt
::
Arguments
)
{
pub
fn
dumb_println
(
args
:
&
fmt
::
Arguments
)
{
use
std
::
io
;
use
std
::
io
;
use
std
::
libc
;
use
libc
;
struct
Stderr
;
struct
Stderr
;
impl
io
::
Writer
for
Stderr
{
impl
io
::
Writer
for
Stderr
{
...
...
src/librustuv/net.rs
浏览文件 @
0459ee77
...
@@ -11,8 +11,8 @@
...
@@ -11,8 +11,8 @@
use
std
::
cast
;
use
std
::
cast
;
use
std
::
io
::
IoError
;
use
std
::
io
::
IoError
;
use
std
::
io
::
net
::
ip
;
use
std
::
io
::
net
::
ip
;
use
std
::
libc
::{
size_t
,
ssize_t
,
c_int
,
c_void
,
c_uint
};
use
libc
::{
size_t
,
ssize_t
,
c_int
,
c_void
,
c_uint
};
use
std
::
libc
;
use
libc
;
use
std
::
mem
;
use
std
::
mem
;
use
std
::
ptr
;
use
std
::
ptr
;
use
std
::
rt
::
rtio
;
use
std
::
rt
::
rtio
;
...
...
src/librustuv/pipe.rs
浏览文件 @
0459ee77
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
use
std
::
c_str
::
CString
;
use
std
::
c_str
::
CString
;
use
std
::
io
::
IoError
;
use
std
::
io
::
IoError
;
use
std
::
libc
;
use
libc
;
use
std
::
rt
::
rtio
::{
RtioPipe
,
RtioUnixListener
,
RtioUnixAcceptor
};
use
std
::
rt
::
rtio
::{
RtioPipe
,
RtioUnixListener
,
RtioUnixAcceptor
};
use
std
::
rt
::
task
::
BlockedTask
;
use
std
::
rt
::
task
::
BlockedTask
;
...
...
src/librustuv/process.rs
浏览文件 @
0459ee77
...
@@ -10,8 +10,8 @@
...
@@ -10,8 +10,8 @@
use
std
::
io
::
IoError
;
use
std
::
io
::
IoError
;
use
std
::
io
::
process
;
use
std
::
io
::
process
;
use
std
::
libc
::
c_int
;
use
libc
::
c_int
;
use
std
::
libc
;
use
libc
;
use
std
::
ptr
;
use
std
::
ptr
;
use
std
::
rt
::
rtio
::
RtioProcess
;
use
std
::
rt
::
rtio
::
RtioProcess
;
use
std
::
rt
::
task
::
BlockedTask
;
use
std
::
rt
::
task
::
BlockedTask
;
...
...
src/librustuv/queue.rs
浏览文件 @
0459ee77
...
@@ -21,7 +21,7 @@
...
@@ -21,7 +21,7 @@
#![allow(dead_code)]
#![allow(dead_code)]
use
std
::
cast
;
use
std
::
cast
;
use
std
::
libc
::{
c_void
,
c_int
};
use
libc
::{
c_void
,
c_int
};
use
std
::
rt
::
task
::
BlockedTask
;
use
std
::
rt
::
task
::
BlockedTask
;
use
std
::
unstable
::
mutex
::
NativeMutex
;
use
std
::
unstable
::
mutex
::
NativeMutex
;
use
std
::
sync
::
arc
::
UnsafeArc
;
use
std
::
sync
::
arc
::
UnsafeArc
;
...
...
src/librustuv/signal.rs
浏览文件 @
0459ee77
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
use
std
::
libc
::
c_int
;
use
libc
::
c_int
;
use
std
::
io
::
signal
::
Signum
;
use
std
::
io
::
signal
::
Signum
;
use
std
::
rt
::
rtio
::
RtioSignal
;
use
std
::
rt
::
rtio
::
RtioSignal
;
...
...
src/librustuv/stream.rs
浏览文件 @
0459ee77
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
// except according to those terms.
// except according to those terms.
use
std
::
cast
;
use
std
::
cast
;
use
std
::
libc
::{
c_int
,
size_t
,
ssize_t
};
use
libc
::{
c_int
,
size_t
,
ssize_t
};
use
std
::
ptr
;
use
std
::
ptr
;
use
std
::
rt
::
task
::
BlockedTask
;
use
std
::
rt
::
task
::
BlockedTask
;
...
...
src/librustuv/timer.rs
浏览文件 @
0459ee77
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
use
std
::
libc
::
c_int
;
use
libc
::
c_int
;
use
std
::
mem
;
use
std
::
mem
;
use
std
::
rt
::
rtio
::
RtioTimer
;
use
std
::
rt
::
rtio
::
RtioTimer
;
use
std
::
rt
::
task
::
BlockedTask
;
use
std
::
rt
::
task
::
BlockedTask
;
...
...
src/librustuv/tty.rs
浏览文件 @
0459ee77
...
@@ -8,8 +8,8 @@
...
@@ -8,8 +8,8 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
use
libc
;
use
std
::
io
::
IoError
;
use
std
::
io
::
IoError
;
use
std
::
libc
;
use
std
::
ptr
;
use
std
::
ptr
;
use
std
::
rt
::
rtio
::
RtioTTY
;
use
std
::
rt
::
rtio
::
RtioTTY
;
...
...
src/librustuv/uvio.rs
浏览文件 @
0459ee77
...
@@ -17,10 +17,10 @@
...
@@ -17,10 +17,10 @@
use
std
::
io
::{
FileMode
,
FileAccess
,
Open
,
Append
,
Truncate
,
Read
,
Write
,
use
std
::
io
::{
FileMode
,
FileAccess
,
Open
,
Append
,
Truncate
,
Read
,
Write
,
ReadWrite
,
FileStat
};
ReadWrite
,
FileStat
};
use
std
::
io
;
use
std
::
io
;
use
std
::
libc
::
c_int
;
use
libc
::
c_int
;
use
std
::
libc
::{
O_CREAT
,
O_APPEND
,
O_TRUNC
,
O_RDWR
,
O_RDONLY
,
O_WRONLY
,
S_IRUSR
,
use
libc
::{
O_CREAT
,
O_APPEND
,
O_TRUNC
,
O_RDWR
,
O_RDONLY
,
O_WRONLY
,
S_IRUSR
,
S_IWUSR
};
S_IWUSR
};
use
std
::
libc
;
use
libc
;
use
std
::
path
::
Path
;
use
std
::
path
::
Path
;
use
std
::
rt
::
rtio
;
use
std
::
rt
::
rtio
;
use
std
::
rt
::
rtio
::
IoFactory
;
use
std
::
rt
::
rtio
::
IoFactory
;
...
...
src/librustuv/uvll.rs
浏览文件 @
0459ee77
...
@@ -29,13 +29,13 @@
...
@@ -29,13 +29,13 @@
#![allow(non_camel_case_types)]
// C types
#![allow(non_camel_case_types)]
// C types
use
std
::
libc
::{
size_t
,
c_int
,
c_uint
,
c_void
,
c_char
,
c_double
};
use
libc
::{
size_t
,
c_int
,
c_uint
,
c_void
,
c_char
,
c_double
};
use
std
::
libc
::{
ssize_t
,
sockaddr
,
free
,
addrinfo
};
use
libc
::{
ssize_t
,
sockaddr
,
free
,
addrinfo
};
use
std
::
libc
;
use
libc
;
use
std
::
rt
::
global_heap
::
malloc_raw
;
use
std
::
rt
::
global_heap
::
malloc_raw
;
#[cfg(test)]
#[cfg(test)]
use
std
::
libc
::
uintptr_t
;
use
libc
::
uintptr_t
;
pub
use
self
::
errors
::{
EACCES
,
ECONNREFUSED
,
ECONNRESET
,
EPIPE
,
ECONNABORTED
,
pub
use
self
::
errors
::{
EACCES
,
ECONNREFUSED
,
ECONNRESET
,
EPIPE
,
ECONNABORTED
,
ECANCELED
,
EBADF
,
ENOTCONN
,
ENOENT
,
EADDRNOTAVAIL
};
ECANCELED
,
EBADF
,
ENOTCONN
,
ENOENT
,
EADDRNOTAVAIL
};
...
@@ -49,7 +49,7 @@
...
@@ -49,7 +49,7 @@
#[cfg(windows)]
#[cfg(windows)]
pub
mod
errors
{
pub
mod
errors
{
use
std
::
libc
::
c_int
;
use
libc
::
c_int
;
pub
static
EACCES
:
c_int
=
-
4092
;
pub
static
EACCES
:
c_int
=
-
4092
;
pub
static
ECONNREFUSED
:
c_int
=
-
4078
;
pub
static
ECONNREFUSED
:
c_int
=
-
4078
;
...
@@ -64,8 +64,8 @@ pub mod errors {
...
@@ -64,8 +64,8 @@ pub mod errors {
}
}
#[cfg(not(windows))]
#[cfg(not(windows))]
pub
mod
errors
{
pub
mod
errors
{
use
std
::
libc
;
use
libc
;
use
std
::
libc
::
c_int
;
use
libc
::
c_int
;
pub
static
EACCES
:
c_int
=
-
libc
::
EACCES
;
pub
static
EACCES
:
c_int
=
-
libc
::
EACCES
;
pub
static
ECONNREFUSED
:
c_int
=
-
libc
::
ECONNREFUSED
;
pub
static
ECONNREFUSED
:
c_int
=
-
libc
::
ECONNREFUSED
;
...
...
src/libstd/c_str.rs
浏览文件 @
0459ee77
...
@@ -39,25 +39,28 @@
...
@@ -39,25 +39,28 @@
An example of creating and using a C string would be:
An example of creating and using a C string would be:
```rust
```rust
use std::libc;
extern crate libc;
extern {
extern {
fn puts(s: *libc::c_char);
fn puts(s: *libc::c_char);
}
}
let my_string = "Hello, world!";
fn main() {
let my_string = "Hello, world!";
// Allocate the C string with an explicit local that owns the string. The
// `c_buffer` pointer will be deallocated when `my_c_string` goes out of scope.
// Allocate the C string with an explicit local that owns the string. The
let my_c_string = my_string.to_c_str();
// `c_buffer` pointer will be deallocated when `my_c_string` goes out of scope.
my_c_string.with_ref(|c_buffer| {
let my_c_string = my_string.to_c_str();
unsafe { puts(c_buffer); }
my_c_string.with_ref(|c_buffer| {
});
unsafe { puts(c_buffer); }
});
// Don't save off the allocation of the C string, the `c_buffer` will be
// deallocated when this block returns!
// Don't save off the allocation of the C string, the `c_buffer` will be
my_string.with_c_str(|c_buffer| {
// deallocated when this block returns!
unsafe { puts(c_buffer); }
my_string.with_c_str(|c_buffer| {
});
unsafe { puts(c_buffer); }
});
}
```
```
*/
*/
...
@@ -266,11 +269,13 @@ pub trait ToCStr {
...
@@ -266,11 +269,13 @@ pub trait ToCStr {
/// # Example
/// # Example
///
///
/// ```rust
/// ```rust
///
use std::
libc;
///
extern crate
libc;
///
///
/// let s = "PATH".with_c_str(|path| unsafe {
/// fn main() {
/// libc::getenv(path)
/// let s = "PATH".with_c_str(|path| unsafe {
/// });
/// libc::getenv(path)
/// });
/// }
/// ```
/// ```
///
///
/// # Failure
/// # Failure
...
...
src/libstd/io/pipe.rs
浏览文件 @
0459ee77
...
@@ -38,11 +38,14 @@ impl PipeStream {
...
@@ -38,11 +38,14 @@ impl PipeStream {
///
///
/// ```rust
/// ```rust
/// # #[allow(unused_must_use)];
/// # #[allow(unused_must_use)];
/// use std::libc;
/// extern crate libc;
///
/// use std::io::pipe::PipeStream;
/// use std::io::pipe::PipeStream;
///
///
/// let mut pipe = PipeStream::open(libc::STDERR_FILENO);
/// fn main() {
/// pipe.write(bytes!("Hello, stderr!"));
/// let mut pipe = PipeStream::open(libc::STDERR_FILENO);
/// pipe.write(bytes!("Hello, stderr!"));
/// }
/// ```
/// ```
pub
fn
open
(
fd
:
libc
::
c_int
)
->
IoResult
<
PipeStream
>
{
pub
fn
open
(
fd
:
libc
::
c_int
)
->
IoResult
<
PipeStream
>
{
LocalIo
::
maybe_raise
(|
io
|
{
LocalIo
::
maybe_raise
(|
io
|
{
...
...
src/libstd/os.rs
浏览文件 @
0459ee77
...
@@ -932,8 +932,9 @@ pub fn page_size() -> uint {
...
@@ -932,8 +932,9 @@ pub fn page_size() -> uint {
/// Returns the page size of the current architecture in bytes.
/// Returns the page size of the current architecture in bytes.
#[cfg(windows)]
#[cfg(windows)]
pub
fn
page_size
()
->
uint
{
pub
fn
page_size
()
->
uint
{
use
mem
;
unsafe
{
unsafe
{
let
mut
info
=
libc
::
SYSTEM_INFO
::
new
();
let
mut
info
=
mem
::
uninit
();
libc
::
GetSystemInfo
(
&
mut
info
);
libc
::
GetSystemInfo
(
&
mut
info
);
return
info
.dwPageSize
as
uint
;
return
info
.dwPageSize
as
uint
;
...
@@ -1250,8 +1251,9 @@ pub fn new(min_len: uint, options: &[MapOption]) -> Result<MemoryMap, MapError>
...
@@ -1250,8 +1251,9 @@ pub fn new(min_len: uint, options: &[MapOption]) -> Result<MemoryMap, MapError>
/// Granularity of MapAddr() and MapOffset() parameter values.
/// Granularity of MapAddr() and MapOffset() parameter values.
/// This may be greater than the value returned by page_size().
/// This may be greater than the value returned by page_size().
pub
fn
granularity
()
->
uint
{
pub
fn
granularity
()
->
uint
{
use
mem
;
unsafe
{
unsafe
{
let
mut
info
=
libc
::
SYSTEM_INFO
::
new
();
let
mut
info
=
mem
::
uninit
();
libc
::
GetSystemInfo
(
&
mut
info
);
libc
::
GetSystemInfo
(
&
mut
info
);
return
info
.dwAllocationGranularity
as
uint
;
return
info
.dwAllocationGranularity
as
uint
;
...
...
src/libsyntax/diagnostic.rs
浏览文件 @
0459ee77
...
@@ -8,6 +8,8 @@
...
@@ -8,6 +8,8 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
extern
crate
libc
;
use
codemap
::{
Pos
,
Span
};
use
codemap
::{
Pos
,
Span
};
use
codemap
;
use
codemap
;
...
...
src/libtime/lib.rs
浏览文件 @
0459ee77
...
@@ -20,9 +20,9 @@
...
@@ -20,9 +20,9 @@
#[cfg(test)]
#[phase(syntax,
link)]
extern
crate
log
;
#[cfg(test)]
#[phase(syntax,
link)]
extern
crate
log
;
extern
crate
serialize
;
extern
crate
serialize
;
extern
crate
libc
;
use
std
::
io
::
BufReader
;
use
std
::
io
::
BufReader
;
use
std
::
libc
;
use
std
::
num
;
use
std
::
num
;
use
std
::
str
;
use
std
::
str
;
...
@@ -42,7 +42,7 @@ mod rustrt {
...
@@ -42,7 +42,7 @@ mod rustrt {
#[cfg(unix,
not(target_os
=
"macos"
))]
#[cfg(unix,
not(target_os
=
"macos"
))]
mod
imp
{
mod
imp
{
use
std
::
libc
::{
c_int
,
timespec
};
use
libc
::{
c_int
,
timespec
};
// Apparently android provides this in some other library?
// Apparently android provides this in some other library?
#[cfg(not(target_os
=
"android"
))]
#[cfg(not(target_os
=
"android"
))]
...
@@ -56,7 +56,7 @@ mod imp {
...
@@ -56,7 +56,7 @@ mod imp {
}
}
#[cfg(target_os
=
"macos"
)]
#[cfg(target_os
=
"macos"
)]
mod
imp
{
mod
imp
{
use
std
::
libc
::{
timeval
,
timezone
,
c_int
,
mach_timebase_info
};
use
libc
::{
timeval
,
timezone
,
c_int
,
mach_timebase_info
};
extern
{
extern
{
pub
fn
gettimeofday
(
tp
:
*
mut
timeval
,
tzp
:
*
mut
timezone
)
->
c_int
;
pub
fn
gettimeofday
(
tp
:
*
mut
timeval
,
tzp
:
*
mut
timezone
)
->
c_int
;
...
@@ -1076,7 +1076,7 @@ mod tests {
...
@@ -1076,7 +1076,7 @@ mod tests {
#[cfg(windows)]
#[cfg(windows)]
fn
set_time_zone
()
{
fn
set_time_zone
()
{
use
std
::
libc
;
use
libc
;
// Windows crt doesn't see any environment variable set by
// Windows crt doesn't see any environment variable set by
// `SetEnvironmentVariable`, which `os::setenv` internally uses.
// `SetEnvironmentVariable`, which `os::setenv` internally uses.
// It is why we use `putenv` here.
// It is why we use `putenv` here.
...
...
src/test/auxiliary/anon-extern-mod-cross-crate-1.rs
浏览文件 @
0459ee77
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
#[crate_id=
"anonexternmod#0.1"
]
;
#[crate_id=
"anonexternmod#0.1"
]
;
use
std
::
libc
;
extern
crate
libc
;
#[link(name=
"rustrt"
)]
#[link(name=
"rustrt"
)]
extern
{
extern
{
...
...
src/test/auxiliary/extern-crosscrate-source.rs
浏览文件 @
0459ee77
...
@@ -11,10 +11,10 @@
...
@@ -11,10 +11,10 @@
#[crate_id=
"externcallback#0.1"
]
;
#[crate_id=
"externcallback#0.1"
]
;
#[crate_type
=
"lib"
]
;
#[crate_type
=
"lib"
]
;
use
std
::
libc
;
extern
crate
libc
;
pub
mod
rustrt
{
pub
mod
rustrt
{
use
std
::
libc
;
extern
crate
libc
;
#[link(name
=
"rustrt"
)]
#[link(name
=
"rustrt"
)]
extern
{
extern
{
...
...
src/test/auxiliary/foreign_lib.rs
浏览文件 @
0459ee77
...
@@ -11,7 +11,7 @@
...
@@ -11,7 +11,7 @@
#[crate_id=
"foreign_lib"
]
;
#[crate_id=
"foreign_lib"
]
;
pub
mod
rustrt
{
pub
mod
rustrt
{
use
std
::
libc
;
extern
crate
libc
;
#[link(name
=
"rustrt"
)]
#[link(name
=
"rustrt"
)]
extern
{
extern
{
...
...
src/test/auxiliary/issue-3012-1.rs
浏览文件 @
0459ee77
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
#[crate_type
=
"lib"
]
;
#[crate_type
=
"lib"
]
;
pub
mod
socket
{
pub
mod
socket
{
use
std
::
libc
;
extern
crate
libc
;
pub
struct
socket_handle
{
pub
struct
socket_handle
{
sockfd
:
libc
::
c_int
,
sockfd
:
libc
::
c_int
,
...
...
src/test/auxiliary/issue_5844_aux.rs
浏览文件 @
0459ee77
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
use
std
::
libc
;
extern
crate
libc
;
extern
"C"
{
extern
"C"
{
pub
fn
rand
()
->
libc
::
c_int
;
pub
fn
rand
()
->
libc
::
c_int
;
...
...
src/test/compile-fail/attrs-after-extern-mod.rs
浏览文件 @
0459ee77
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
// statics cannot. This ensures that there's some form of error if this is
// statics cannot. This ensures that there's some form of error if this is
// attempted.
// attempted.
use
std
::
libc
;
extern
crate
libc
;
extern
{
extern
{
static
mut
rust_dbg_static_mut
:
libc
::
c_int
;
static
mut
rust_dbg_static_mut
:
libc
::
c_int
;
...
...
src/test/compile-fail/lint-ctypes.rs
浏览文件 @
0459ee77
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
#![deny(ctypes)]
#![deny(ctypes)]
use
std
::
libc
;
extern
crate
libc
;
extern
{
extern
{
pub
fn
bare_type1
(
size
:
int
);
//~ ERROR: found rust type
pub
fn
bare_type1
(
size
:
int
);
//~ ERROR: found rust type
...
...
src/test/compile-fail/lint-dead-code-3.rs
浏览文件 @
0459ee77
...
@@ -14,6 +14,8 @@
...
@@ -14,6 +14,8 @@
#![crate_type=
"lib"
]
#![crate_type=
"lib"
]
extern
crate
libc
;
struct
Foo
;
//~ ERROR: code is never used
struct
Foo
;
//~ ERROR: code is never used
impl
Foo
{
impl
Foo
{
fn
foo
(
&
self
)
{
//~ ERROR: code is never used
fn
foo
(
&
self
)
{
//~ ERROR: code is never used
...
@@ -46,7 +48,7 @@ pub fn pub_fn() {
...
@@ -46,7 +48,7 @@ pub fn pub_fn() {
}
}
mod
blah
{
mod
blah
{
use
std
::
libc
::
size_t
;
use
libc
::
size_t
;
// not warned because it's used in the parameter of `free` and return of
// not warned because it's used in the parameter of `free` and return of
// `malloc` below, which are also used.
// `malloc` below, which are also used.
enum
c_void
{}
enum
c_void
{}
...
...
src/test/compile-fail/non-copyable-void.rs
浏览文件 @
0459ee77
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
use
std
::
libc
;
extern
crate
libc
;
fn
main
()
{
fn
main
()
{
let
x
:
*
Vec
<
int
>
=
&
vec!
(
1
,
2
,
3
);
let
x
:
*
Vec
<
int
>
=
&
vec!
(
1
,
2
,
3
);
...
...
src/test/compile-fail/static-mut-foreign-requires-unsafe.rs
浏览文件 @
0459ee77
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
use
std
::
libc
;
extern
crate
libc
;
extern
{
extern
{
static
mut
a
:
libc
::
c_int
;
static
mut
a
:
libc
::
c_int
;
...
...
src/test/compile-fail/unsupported-cast.rs
浏览文件 @
0459ee77
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
// error-pattern:unsupported cast
// error-pattern:unsupported cast
use
std
::
libc
;
extern
crate
libc
;
fn
main
()
{
fn
main
()
{
println!
(
"{:?}"
,
1.0
as
*
libc
::
FILE
);
// Can't cast float to foreign.
println!
(
"{:?}"
,
1.0
as
*
libc
::
FILE
);
// Can't cast float to foreign.
...
...
src/test/run-fail/extern-fail.rs
浏览文件 @
0459ee77
...
@@ -13,11 +13,11 @@
...
@@ -13,11 +13,11 @@
// Testing that runtime failure doesn't cause callbacks to abort abnormally.
// Testing that runtime failure doesn't cause callbacks to abort abnormally.
// Instead the failure will be delivered after the callbacks return.
// Instead the failure will be delivered after the callbacks return.
use
std
::
libc
;
extern
crate
libc
;
use
std
::
task
;
use
std
::
task
;
mod
rustrt
{
mod
rustrt
{
use
std
::
libc
;
extern
crate
libc
;
extern
{
extern
{
pub
fn
rust_dbg_call
(
cb
:
*
u8
,
data
:
libc
::
uintptr_t
)
pub
fn
rust_dbg_call
(
cb
:
*
u8
,
data
:
libc
::
uintptr_t
)
...
...
src/test/run-fail/morestack2.rs
浏览文件 @
0459ee77
...
@@ -16,11 +16,11 @@
...
@@ -16,11 +16,11 @@
// See the hack in upcall_call_shim_on_c_stack where it messes
// See the hack in upcall_call_shim_on_c_stack where it messes
// with the stack limit.
// with the stack limit.
use
std
::
libc
;
extern
crate
libc
;
use
std
::
task
;
use
std
::
task
;
mod
rustrt
{
mod
rustrt
{
use
std
::
libc
;
extern
crate
libc
;
extern
{
extern
{
pub
fn
rust_get_argc
()
->
libc
::
c_int
;
pub
fn
rust_get_argc
()
->
libc
::
c_int
;
...
...
src/test/run-pass/anon-extern-mod.rs
浏览文件 @
0459ee77
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
use
std
::
libc
;
extern
crate
libc
;
#[link(name
=
"rustrt"
)]
#[link(name
=
"rustrt"
)]
extern
{
extern
{
...
...
src/test/run-pass/c-stack-as-value.rs
浏览文件 @
0459ee77
...
@@ -9,7 +9,7 @@
...
@@ -9,7 +9,7 @@
// except according to those terms.
// except according to those terms.
mod
rustrt
{
mod
rustrt
{
use
std
::
libc
;
extern
crate
libc
;
#[link(name
=
"rustrt"
)]
#[link(name
=
"rustrt"
)]
extern
{
extern
{
...
...
src/test/run-pass/c-stack-returning-int64.rs
浏览文件 @
0459ee77
...
@@ -8,8 +8,12 @@
...
@@ -8,8 +8,12 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
mod
libc
{
// ignore-fast doesn't like extern crate
use
std
::
libc
::{
c_char
,
c_long
,
c_longlong
};
extern
crate
libc
;
mod
mlibc
{
use
libc
::{
c_char
,
c_long
,
c_longlong
};
extern
{
extern
{
pub
fn
atol
(
x
:
*
c_char
)
->
c_long
;
pub
fn
atol
(
x
:
*
c_char
)
->
c_long
;
...
@@ -18,11 +22,11 @@ mod libc {
...
@@ -18,11 +22,11 @@ mod libc {
}
}
fn
atol
(
s
:
~
str
)
->
int
{
fn
atol
(
s
:
~
str
)
->
int
{
s
.with_c_str
(|
x
|
unsafe
{
libc
::
atol
(
x
)
as
int
})
s
.with_c_str
(|
x
|
unsafe
{
m
libc
::
atol
(
x
)
as
int
})
}
}
fn
atoll
(
s
:
~
str
)
->
i64
{
fn
atoll
(
s
:
~
str
)
->
i64
{
s
.with_c_str
(|
x
|
unsafe
{
libc
::
atoll
(
x
)
as
i64
})
s
.with_c_str
(|
x
|
unsafe
{
m
libc
::
atoll
(
x
)
as
i64
})
}
}
pub
fn
main
()
{
pub
fn
main
()
{
...
...
src/test/run-pass/const-cast.rs
浏览文件 @
0459ee77
...
@@ -8,7 +8,7 @@
...
@@ -8,7 +8,7 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
use
std
::
libc
;
extern
crate
libc
;
extern
fn
foo
()
{}
extern
fn
foo
()
{}
...
...
src/test/run-pass/core-run-destroy.rs
浏览文件 @
0459ee77
...
@@ -17,6 +17,7 @@
...
@@ -17,6 +17,7 @@
// instead of in std.
// instead of in std.
#[feature(macro_rules)]
;
#[feature(macro_rules)]
;
extern
crate
libc
;
extern
crate
native
;
extern
crate
native
;
extern
crate
green
;
extern
crate
green
;
...
@@ -34,7 +35,7 @@ mod $name {
...
@@ -34,7 +35,7 @@ mod $name {
#[allow(unused_imports)]
;
#[allow(unused_imports)]
;
use
std
::
io
::
timer
;
use
std
::
io
::
timer
;
use
std
::
libc
;
use
libc
;
use
std
::
str
;
use
std
::
str
;
use
std
::
io
::
process
::{
Process
,
ProcessOutput
};
use
std
::
io
::
process
::{
Process
,
ProcessOutput
};
use
native
;
use
native
;
...
@@ -87,7 +88,7 @@ pub fn sleeper() -> Process {
...
@@ -87,7 +88,7 @@ pub fn sleeper() -> Process {
pub
fn
test_destroy_actually_kills
(
force
:
bool
)
{
pub
fn
test_destroy_actually_kills
(
force
:
bool
)
{
use
std
::
io
::
process
::{
Process
,
ProcessOutput
,
ExitStatus
,
ExitSignal
};
use
std
::
io
::
process
::{
Process
,
ProcessOutput
,
ExitStatus
,
ExitSignal
};
use
std
::
io
::
timer
;
use
std
::
io
::
timer
;
use
std
::
libc
;
use
libc
;
use
std
::
str
;
use
std
::
str
;
#[cfg(unix,not(target_os=
"android"
))]
#[cfg(unix,not(target_os=
"android"
))]
...
...
src/test/run-pass/extern-call-deep.rs
浏览文件 @
0459ee77
...
@@ -8,10 +8,10 @@
...
@@ -8,10 +8,10 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
use
std
::
libc
;
extern
crate
libc
;
mod
rustrt
{
mod
rustrt
{
use
std
::
libc
;
extern
crate
libc
;
#[link(name
=
"rustrt"
)]
#[link(name
=
"rustrt"
)]
extern
{
extern
{
...
...
src/test/run-pass/extern-call-deep2.rs
浏览文件 @
0459ee77
...
@@ -8,11 +8,11 @@
...
@@ -8,11 +8,11 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
use
std
::
libc
;
extern
crate
libc
;
use
std
::
task
;
use
std
::
task
;
mod
rustrt
{
mod
rustrt
{
use
std
::
libc
;
extern
crate
libc
;
#[link(name
=
"rustrt"
)]
#[link(name
=
"rustrt"
)]
extern
{
extern
{
...
...
src/test/run-pass/extern-call-indirect.rs
浏览文件 @
0459ee77
...
@@ -8,10 +8,10 @@
...
@@ -8,10 +8,10 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
use
std
::
libc
;
extern
crate
libc
;
mod
rustrt
{
mod
rustrt
{
use
std
::
libc
;
extern
crate
libc
;
#[link(name
=
"rustrt"
)]
#[link(name
=
"rustrt"
)]
extern
{
extern
{
...
...
src/test/run-pass/extern-call-scrub.rs
浏览文件 @
0459ee77
...
@@ -12,11 +12,11 @@
...
@@ -12,11 +12,11 @@
// make sure the stack pointers are maintained properly in both
// make sure the stack pointers are maintained properly in both
// directions
// directions
use
std
::
libc
;
extern
crate
libc
;
use
std
::
task
;
use
std
::
task
;
mod
rustrt
{
mod
rustrt
{
use
std
::
libc
;
extern
crate
libc
;
#[link(name
=
"rustrt"
)]
#[link(name
=
"rustrt"
)]
extern
{
extern
{
...
...
src/test/run-pass/extern-stress.rs
浏览文件 @
0459ee77
...
@@ -11,11 +11,11 @@
...
@@ -11,11 +11,11 @@
// This creates a bunch of descheduling tasks that run concurrently
// This creates a bunch of descheduling tasks that run concurrently
// while holding onto C stacks
// while holding onto C stacks
use
std
::
libc
;
extern
crate
libc
;
use
std
::
task
;
use
std
::
task
;
mod
rustrt
{
mod
rustrt
{
use
std
::
libc
;
extern
crate
libc
;
#[link(name
=
"rustrt"
)]
#[link(name
=
"rustrt"
)]
extern
{
extern
{
...
...
src/test/run-pass/extern-yield.rs
浏览文件 @
0459ee77
...
@@ -8,11 +8,11 @@
...
@@ -8,11 +8,11 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
use
std
::
libc
;
extern
crate
libc
;
use
std
::
task
;
use
std
::
task
;
mod
rustrt
{
mod
rustrt
{
use
std
::
libc
;
extern
crate
libc
;
#[link(name
=
"rustrt"
)]
#[link(name
=
"rustrt"
)]
extern
{
extern
{
...
...
src/test/run-pass/foreign-call-no-runtime.rs
浏览文件 @
0459ee77
...
@@ -8,8 +8,9 @@
...
@@ -8,8 +8,9 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
extern
crate
libc
;
use
std
::
cast
;
use
std
::
cast
;
use
std
::
libc
;
use
std
::
unstable
::
run_in_bare_thread
;
use
std
::
unstable
::
run_in_bare_thread
;
#[link(name
=
"rustrt"
)]
#[link(name
=
"rustrt"
)]
...
...
src/test/run-pass/foreign-dupe.rs
浏览文件 @
0459ee77
...
@@ -12,7 +12,7 @@
...
@@ -12,7 +12,7 @@
// calling pin_task and that's having wierd side-effects.
// calling pin_task and that's having wierd side-effects.
mod
rustrt1
{
mod
rustrt1
{
use
std
::
libc
;
extern
crate
libc
;
#[link(name
=
"rustrt"
)]
#[link(name
=
"rustrt"
)]
extern
{
extern
{
...
@@ -21,7 +21,7 @@ mod rustrt1 {
...
@@ -21,7 +21,7 @@ mod rustrt1 {
}
}
mod
rustrt2
{
mod
rustrt2
{
use
std
::
libc
;
extern
crate
libc
;
#[link(name
=
"rustrt"
)]
#[link(name
=
"rustrt"
)]
extern
{
extern
{
...
...
src/test/run-pass/foreign-fn-linkname.rs
浏览文件 @
0459ee77
...
@@ -8,8 +8,13 @@
...
@@ -8,8 +8,13 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
mod
libc
{
// ignore-fast doesn't like extern crate
use
std
::
libc
::{
c_char
,
size_t
};
extern
crate
libc
;
mod
mlibc
{
extern
crate
libc
;
use
self
::
libc
::{
c_char
,
size_t
};
extern
{
extern
{
#[link_name
=
"strlen"
]
#[link_name
=
"strlen"
]
...
@@ -21,7 +26,7 @@ fn strlen(str: ~str) -> uint {
...
@@ -21,7 +26,7 @@ fn strlen(str: ~str) -> uint {
// C string is terminated with a zero
// C string is terminated with a zero
str
.with_c_str
(|
buf
|
{
str
.with_c_str
(|
buf
|
{
unsafe
{
unsafe
{
libc
::
my_strlen
(
buf
)
as
uint
m
libc
::
my_strlen
(
buf
)
as
uint
}
}
})
})
}
}
...
...
src/test/run-pass/foreign-mod-unused-const.rs
浏览文件 @
0459ee77
...
@@ -8,8 +8,12 @@
...
@@ -8,8 +8,12 @@
// option. This file may not be copied, modified, or distributed
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// except according to those terms.
// ignore-fast doesn't like extern crate
extern
crate
libc
;
mod
foo
{
mod
foo
{
use
std
::
libc
::
c_int
;
use
libc
::
c_int
;
extern
{
extern
{
pub
static
errno
:
c_int
;
pub
static
errno
:
c_int
;
...
...
src/test/run-pass/foreign-no-abi.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/foreign2.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/issue-1251.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/issue-2214.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/issue-3012-2.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/issue-3656.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/issue-4735.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/issue-5791.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/item-attributes.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/lint-cstack.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/morestack6.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/newtype-struct-with-dtor.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/osx-frameworks.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/process-detach.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/regions-mock-tcx.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/regions-mock-trans.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/rename-directory.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/static-mut-foreign.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/supported-cast.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/tcp-stress.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
src/test/run-pass/variadic-ffi.rs
浏览文件 @
0459ee77
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录