r11086: add sys.unix2nttime() function
authorStefan Metzmacher <metze@samba.org>
Sat, 15 Oct 2005 10:04:33 +0000 (10:04 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:44:46 +0000 (13:44 -0500)
metze
(This used to be commit a3abf10d431f82b12b0795d5bc217c8ec3ce89f7)

source4/scripting/ejs/smbcalls_sys.c

index 5f6a756f8f836d51b45ff4d11caf3930148db612..c4ad668112da3eeb6017e236182ddcb8f6430f55 100644 (file)
@@ -66,6 +66,22 @@ static int ejs_sys_nttime(MprVarHandle eid, int argc, struct MprVar **argv)
        return 0;
 }
 
+/*
+  return time as a 64 bit nttime value from a 32 bit time_t value
+*/
+static int ejs_sys_unix2nttime(MprVarHandle eid, int argc, struct MprVar **argv)
+{
+       NTTIME nt;
+       if (argc != 1 || !mprVarIsNumber(argv[0]->type)) {
+               ejsSetErrorMsg(eid, "sys_unix2nttime invalid arguments");
+               return -1;
+       }
+       unix_to_nt_time(&nt, mprVarToNumber(argv[0]));
+       struct MprVar v = mprCreateNumberVar(nt);
+       mpr_Return(eid, v);
+       return 0;
+}
+
 /*
   return the given time as a gmtime structure
 */
@@ -313,6 +329,7 @@ static int ejs_sys_init(MprVarHandle eid, int argc, struct MprVar **argv)
        mprSetCFunction(obj, "interfaces", ejs_sys_interfaces);
        mprSetCFunction(obj, "hostname", ejs_sys_hostname);
        mprSetCFunction(obj, "nttime", ejs_sys_nttime);
+       mprSetCFunction(obj, "unix2nttime", ejs_sys_unix2nttime);
        mprSetCFunction(obj, "gmtime", ejs_sys_gmtime);
        mprSetCFunction(obj, "ldaptime", ejs_sys_ldaptime);
        mprSetCFunction(obj, "httptime", ejs_sys_httptime);