mirror of
https://github.com/samba-team/samba.git
synced 2024-12-27 03:21:53 +03:00
r8105: Add ejsrpc push/pull functions for uint16 and uint8.
This commit is contained in:
parent
ff5549e87f
commit
ee27943e21
@ -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
|
pull a uint32 from a mpr variable to a C element
|
||||||
*/
|
*/
|
||||||
|
@ -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_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_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,
|
NTSTATUS ejs_pull_uint32(struct ejs_rpc *ejs,
|
||||||
struct MprVar *v, const char *name, uint32_t *r);
|
struct MprVar *v, const char *name, uint32_t *r);
|
||||||
NTSTATUS ejs_push_uint32(struct ejs_rpc *ejs,
|
NTSTATUS ejs_push_uint32(struct ejs_rpc *ejs,
|
||||||
struct MprVar *v, const char *name, uint32_t r);
|
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);
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user