summaryrefslogtreecommitdiffstats
path: root/vmop.h
diff options
context:
space:
mode:
authorRainer Gerhards <rgerhards@adiscon.com>2008-02-20 18:54:20 +0000
committerRainer Gerhards <rgerhards@adiscon.com>2008-02-20 18:54:20 +0000
commit44bb5af7ccef417a1d088527fc02af5f0e8d3dc5 (patch)
tree6a28892a1253b4f199a4f55c64b1a65fbdd38386 /vmop.h
parentfa150f43db5f9673a5b9dfb0727767eca60e4453 (diff)
downloadrsyslog-44bb5af7ccef417a1d088527fc02af5f0e8d3dc5.tar.gz
rsyslog-44bb5af7ccef417a1d088527fc02af5f0e8d3dc5.tar.xz
rsyslog-44bb5af7ccef417a1d088527fc02af5f0e8d3dc5.zip
begun expr compile process, first steps done
Diffstat (limited to 'vmop.h')
-rw-r--r--vmop.h8
1 files changed, 6 insertions, 2 deletions
diff --git a/vmop.h b/vmop.h
index 4bf066b5..6c74054a 100644
--- a/vmop.h
+++ b/vmop.h
@@ -47,10 +47,13 @@ typedef enum { /* do NOT start at 0 to detect uninitialized types after calloc(
opcode_CMP_STARTSWITH = ctok_CMP_STARTSWITH,
opcode_CMP_GTEQ = ctok_CMP_GTEQ, /* end compare operations */
/* here we start our own codes */
- opcode_PUSH = 1000, /* requires var operand */
- opcode_POP = 1001, /* requires var operand to receive result */
+ opcode_POP = 1000, /* requires var operand to receive result */
+ opcode_PUSHSYSVAR = 1001, /* requires var operand */
+ opcode_PUSHMSGVAR = 1002, /* requires var operand */
+ opcode_PUSHCONSTANT = 1003, /* requires var operand */
} opcode_t;
+
/* the vmop object */
typedef struct vmop_s {
BEGINobjInstance; /* Data to implement generic object - MUST be the first data element! */
@@ -69,6 +72,7 @@ rsRetVal vmopConstructFinalize(vmop_t __attribute__((unused)) *pThis);
rsRetVal vmopDestruct(vmop_t **ppThis);
rsRetVal vmopSetOpcode(vmop_t *pThis, opcode_t opcode);
rsRetVal vmopSetVar(vmop_t *pThis, var_t *pVar);
+rsRetVal vmopOpcode2Str(vmop_t *pThis, uchar **ppName);
PROTOTYPEObjClassInit(vmop);
PROTOTYPEObjDebugPrint(vmop);