aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
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: