aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authormax99x <max99x@gmail.com>2011-07-29 14:23:37 +0300
committermax99x <max99x@gmail.com>2011-07-29 14:23:37 +0300
commit1ac86ad03da43b50092ca18b5dcdc6359028d7a5 (patch)
tree04cdd8e7ed765a7c727c77e1e0547b12f719e796 /src
parent8086162e8d3f1e0e66a47e9d9f8302137b4f0ac0 (diff)
Implemented sys/utsname.h.
Diffstat (limited to 'src')
-rw-r--r--src/library.js28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/library.js b/src/library.js
index 7ec3c126..8d649131 100644
--- a/src/library.js
+++ b/src/library.js
@@ -3932,6 +3932,34 @@ LibraryManager.library = {
nanf: 'nan',
// ==========================================================================
+ // sys/utsname.h
+ // ==========================================================================
+
+ __utsname_struct_layout: Runtime.generateStructInfo(null, '%struct.utsname'),
+ uname__deps: ['__utsname_struct_layout'],
+ uname: function(name) {
+ // int uname(struct utsname *name);
+ // http://pubs.opengroup.org/onlinepubs/009695399/functions/uname.html
+ if (name === 0) {
+ return -1;
+ } else {
+ var copyString = function(element, value) {
+ var offset = ___utsname_struct_layout[element];
+ for (var i = 0; i < value.length; i++) {
+ {{{ makeSetValue('name', 'offset + i', 'value.charCodeAt(i)', 'i8') }}}
+ }
+ {{{ makeSetValue('name', 'offset + i', '0', 'i8') }}}
+ };
+ copyString('sysname', 'Emscripten');
+ copyString('nodename', 'emscripten');
+ copyString('release', '1.0');
+ copyString('version', '#1');
+ copyString('machine', 'x86-JS');
+ return 0;
+ }
+ },
+
+ // ==========================================================================
// dlfcn.h - Dynamic library loading
//
// Some limitations: