@@ -0,0 +1,7 @@
+#ifndef _BITS_WCHAR_H
+#define _BITS_WCHAR_H
+
+typedef signed short wchar_t;
+typedef signed int wint_t;
+#endif /* _BITS_WCHAR_H */
@@ -43,6 +43,7 @@ pub type c_long = i64;
pub type c_ulong = u64;
pub type wchar_t = i16;
+pub type wint_t = i32;
pub type off_t = c_long;
pub type mode_t = u16;
@@ -0,0 +1,11 @@
+[package]
+name = "template"
+version = "0.1.0"
+authors = ["Jeremy Soller <[email protected]>"]
+build = "build.rs"
+[build-dependencies]
+cbindgen = { path = "../../cbindgen" }
+[dependencies]
+platform = { path = "../../platform" }
+extern crate cbindgen;
+use std::{env, fs};
+fn main() {
+ let crate_dir = env::var("CARGO_MANIFEST_DIR").expect("CARGO_MANIFEST_DIR not set");
+ fs::create_dir_all("../../target/include").expect("failed to create include directory");
+ cbindgen::generate(crate_dir)
+ .expect("failed to generate bindings")
+ .write_to_file("../../target/include/template.h");
+}
@@ -0,0 +1,6 @@
+sys_includes = []
+include_guard = "_TEMPLATE_H"
+language = "C"
+[enum]
+prefix_with_name = true
@@ -0,0 +1,14 @@
+//! template implementation for Redox, following http://pubs.opengroup.org/onlinepubs/7908799/xsh/template.h.html
+#![no_std]
+extern crate platform;
+use platform::types::*;
+/*
+#[no_mangle]
+pub extern "C" fn func(args) -> c_int {
+ unimplemented!();
+*/