summaryrefslogtreecommitdiff
path: root/source4/scripting/ejs/ejsrpc.h
diff options
context:
space:
mode:
authorAndrew Tridgell <tridge@samba.org>2005-07-08 08:18:52 +0000
committerGerald (Jerry) Carter <jerry@samba.org>2007-10-10 13:19:23 -0500
commitf55b2b96108d71197807b46af16085167556bf6e (patch)
tree2b566f6a0c7e16d8f65f3653c9737c68f3954be3 /source4/scripting/ejs/ejsrpc.h
parent0b92507760910872d5f0f3fe2c45f4f3af3466eb (diff)
downloadsamba-f55b2b96108d71197807b46af16085167556bf6e.tar.gz
samba-f55b2b96108d71197807b46af16085167556bf6e.tar.bz2
samba-f55b2b96108d71197807b46af16085167556bf6e.zip
r8233: - added support for more base types in pidl ejs
- added auto generation of a header with prototypes for public ejs functions - make public functions non-static - fixed allocation of fixed sized arrays - added 'noejs' flag indicating that a typedef will be handled manually by ejs - added manual functions for sid and GUID, so they show up as nice strings in ejs scripts This allows ejs to bring in samr, security, lsa and misc IDL functions (This used to be commit a8cb2dbdcc2871090a26f580f67db8f0636d1e7e)
Diffstat (limited to 'source4/scripting/ejs/ejsrpc.h')
-rw-r--r--source4/scripting/ejs/ejsrpc.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/source4/scripting/ejs/ejsrpc.h b/source4/scripting/ejs/ejsrpc.h
index 0435b52365..624a5fad3d 100644
--- a/source4/scripting/ejs/ejsrpc.h
+++ b/source4/scripting/ejs/ejsrpc.h
@@ -60,17 +60,34 @@ NTSTATUS ejs_pull_hyper(struct ejs_rpc *ejs,
struct MprVar *v, const char *name, uint64_t *r);
NTSTATUS ejs_push_hyper(struct ejs_rpc *ejs,
struct MprVar *v, const char *name, const uint64_t *r);
+NTSTATUS ejs_pull_dlong(struct ejs_rpc *ejs,
+ struct MprVar *v, const char *name, uint64_t *r);
+NTSTATUS ejs_push_dlong(struct ejs_rpc *ejs,
+ struct MprVar *v, const char *name, const uint64_t *r);
+NTSTATUS ejs_pull_udlong(struct ejs_rpc *ejs,
+ struct MprVar *v, const char *name, uint64_t *r);
+NTSTATUS ejs_push_udlong(struct ejs_rpc *ejs,
+ struct MprVar *v, const char *name, const uint64_t *r);
+NTSTATUS ejs_pull_NTTIME(struct ejs_rpc *ejs,
+ struct MprVar *v, const char *name, uint64_t *r);
+NTSTATUS ejs_push_NTTIME(struct ejs_rpc *ejs,
+ struct MprVar *v, const char *name, const uint64_t *r);
NTSTATUS ejs_pull_enum(struct ejs_rpc *ejs,
struct MprVar *v, const char *name, unsigned *r);
NTSTATUS ejs_push_enum(struct ejs_rpc *ejs,
struct MprVar *v, const char *name, const unsigned *r);
NTSTATUS ejs_pull_string(struct ejs_rpc *ejs,
- struct MprVar *v, const char *name, char **s);
+ struct MprVar *v, const char *name, const char **s);
NTSTATUS ejs_push_string(struct ejs_rpc *ejs,
struct MprVar *v, const char *name, const char *s);
void ejs_set_constant_int(int eid, const char *name, int value);
void ejs_set_constant_string(int eid, const char *name, const char *value);
+NTSTATUS ejs_pull_dom_sid(struct ejs_rpc *ejs,
+ struct MprVar *v, const char *name, struct dom_sid *r);
+NTSTATUS ejs_push_dom_sid(struct ejs_rpc *ejs,
+ struct MprVar *v, const char *name, const struct dom_sid *r);
+
#define EJS_ALLOC_SIZE(ejs, s, size) do { \
(s) = talloc_size(ejs, size); \
if (!(s)) return ejs_panic(ejs, "out of memory"); \
@@ -84,3 +101,9 @@ void ejs_set_constant_string(int eid, const char *name, const char *value);
} while (0)
#define EJS_ALLOC_N(ejs, s, n) EJS_ALLOC_N_SIZE(ejs, s, n, sizeof(*(s)))
+
+/* some types are equivalent for ejs */
+#define ejs_pull_dom_sid2 ejs_pull_dom_sid
+#define ejs_push_dom_sid2 ejs_push_dom_sid
+#define ejs_pull_NTTIME_hyper ejs_pull_NTTIME
+#define ejs_push_NTTIME_hyper ejs_push_NTTIME