diff options
author | max99x <max99x@gmail.com> | 2011-07-29 14:23:37 +0300 |
---|---|---|
committer | max99x <max99x@gmail.com> | 2011-07-29 14:23:37 +0300 |
commit | 1ac86ad03da43b50092ca18b5dcdc6359028d7a5 (patch) | |
tree | 04cdd8e7ed765a7c727c77e1e0547b12f719e796 /src | |
parent | 8086162e8d3f1e0e66a47e9d9f8302137b4f0ac0 (diff) |
Implemented sys/utsname.h.
Diffstat (limited to 'src')
-rw-r--r-- | src/library.js | 28 |
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: |