r8105: Add ejsrpc push/pull functions for uint16 and uint8.
authorTim Potter <tpot@samba.org>
Mon, 4 Jul 2005 01:31:34 +0000 (01:31 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 18:19:08 +0000 (13:19 -0500)
(This used to be commit ee27943e215126a2048d1082437ef2597d913371)

source4/scripting/ejs/ejsrpc.c
source4/scripting/ejs/ejsrpc.h

index bc5fdd647ffb4912189ef6eea9ed7ef15fd1a304..990dee123c130a3ceaf7abfa12c287ab303ef468 100644 (file)
@@ -95,6 +95,50 @@ static NTSTATUS mprSetVar(struct MprVar *v, const char *name, struct MprVar val)
 }
 
 
+/*
+  pull a uint8 from a mpr variable to a C element
+*/
+NTSTATUS ejs_pull_uint8(struct ejs_rpc *ejs, 
+                       struct MprVar *v, const char *name, uint8_t *r)
+{
+       struct MprVar *var;
+       var = mprGetVar(v, name);
+       if (var == NULL) {
+               return NT_STATUS_INVALID_PARAMETER_MIX;
+       }
+       *r = mprVarToInteger(var);
+       return NT_STATUS_OK;
+       
+}
+
+NTSTATUS ejs_push_uint8(struct ejs_rpc *ejs, 
+                       struct MprVar *v, const char *name, uint8_t r)
+{
+       return mprSetVar(v, name, mprCreateIntegerVar(r));
+}
+
+/*
+  pull a uint16 from a mpr variable to a C element
+*/
+NTSTATUS ejs_pull_uint16(struct ejs_rpc *ejs, 
+                        struct MprVar *v, const char *name, uint16_t *r)
+{
+       struct MprVar *var;
+       var = mprGetVar(v, name);
+       if (var == NULL) {
+               return NT_STATUS_INVALID_PARAMETER_MIX;
+       }
+       *r = mprVarToInteger(var);
+       return NT_STATUS_OK;
+       
+}
+
+NTSTATUS ejs_push_uint16(struct ejs_rpc *ejs, 
+                        struct MprVar *v, const char *name, uint16_t r)
+{
+       return mprSetVar(v, name, mprCreateIntegerVar(r));
+}
+
 /*
   pull a uint32 from a mpr variable to a C element
 */
index b2d491d94da4315382144ba982fe210502884dd5..252df9c2350e7afb1241584935cb34cb1e8042f0 100644 (file)
@@ -30,19 +30,18 @@ typedef NTSTATUS (*ejs_push_function_t)(struct ejs_rpc *, struct MprVar *, const
 
 NTSTATUS ejs_pull_rpc(struct MprVar *v, void *ptr, ejs_pull_function_t ejs_pull);
 NTSTATUS ejs_push_rpc(struct MprVar *v, const void *ptr, ejs_push_function_t ejs_push);
+
+NTSTATUS ejs_pull_uint8(struct ejs_rpc *ejs, 
+                       struct MprVar *v, const char *name, uint8_t *r);
+NTSTATUS ejs_push_uint8(struct ejs_rpc *ejs, 
+                       struct MprVar *v, const char *name, uint8_t r);
+
+NTSTATUS ejs_pull_uint16(struct ejs_rpc *ejs, 
+                        struct MprVar *v, const char *name, uint16_t *r);
+NTSTATUS ejs_push_uint16(struct ejs_rpc *ejs, 
+                        struct MprVar *v, const char *name, uint16_t r);
+
 NTSTATUS ejs_pull_uint32(struct ejs_rpc *ejs, 
                         struct MprVar *v, const char *name, uint32_t *r);
 NTSTATUS ejs_push_uint32(struct ejs_rpc *ejs, 
                         struct MprVar *v, const char *name, uint32_t r);
-
-
-/* echo calls */
-
-#include "librpc/gen_ndr/ndr_echo.h"
-
-NTSTATUS ejs_pull_echo_AddOne(struct ejs_rpc *ejs, 
-                             struct MprVar *v, struct echo_AddOne *r);
-NTSTATUS ejs_push_echo_AddOne(struct ejs_rpc *ejs, 
-                             struct MprVar *v, 
-                             const struct echo_AddOne *r);
-