Index: third_party/libevent/event_rpcgen.py |
diff --git a/third_party/libevent/event_rpcgen.py b/third_party/libevent/event_rpcgen.py |
index 0c1b29ec60e845dbdf0a470214f0a24654d5cbf7..4ec77a6f6e315c7f03954a114bc6ab76a2cab6ad 100755 |
--- a/third_party/libevent/event_rpcgen.py |
+++ b/third_party/libevent/event_rpcgen.py |
@@ -87,7 +87,7 @@ class Struct: |
self.PrintIdented(file, ' ', dcl) |
print >>file, '' |
for entry in self._entries: |
- print >>file, ' uint8_t %s_set;' % entry.Name() |
+ print >>file, ' ev_uint8_t %s_set;' % entry.Name() |
print >>file, '};\n' |
print >>file, \ |
@@ -97,9 +97,9 @@ void %(name)s_clear(struct %(name)s *); |
void %(name)s_marshal(struct evbuffer *, const struct %(name)s *); |
int %(name)s_unmarshal(struct %(name)s *, struct evbuffer *); |
int %(name)s_complete(struct %(name)s *); |
-void evtag_marshal_%(name)s(struct evbuffer *, uint32_t, |
+void evtag_marshal_%(name)s(struct evbuffer *, ev_uint32_t, |
const struct %(name)s *); |
-int evtag_unmarshal_%(name)s(struct evbuffer *, uint32_t, |
+int evtag_unmarshal_%(name)s(struct evbuffer *, ev_uint32_t, |
struct %(name)s *);""" % { 'name' : self._name } |
@@ -209,7 +209,7 @@ int evtag_unmarshal_%(name)s(struct evbuffer *, uint32_t, |
'%(name)s_unmarshal(struct %(name)s *tmp, ' |
' struct evbuffer *evbuf)\n' |
'{\n' |
- ' uint32_t tag;\n' |
+ ' ev_uint32_t tag;\n' |
' while (EVBUFFER_LENGTH(evbuf) > 0) {\n' |
' if (evtag_peek(evbuf, &tag) == -1)\n' |
' return (-1);\n' |
@@ -260,9 +260,9 @@ int evtag_unmarshal_%(name)s(struct evbuffer *, uint32_t, |
print >>file, ( |
'int\n' |
'evtag_unmarshal_%(name)s(struct evbuffer *evbuf, ' |
- 'uint32_t need_tag, struct %(name)s *msg)\n' |
+ 'ev_uint32_t need_tag, struct %(name)s *msg)\n' |
'{\n' |
- ' uint32_t tag;\n' |
+ ' ev_uint32_t tag;\n' |
' int res = -1;\n' |
'\n' |
' struct evbuffer *tmp = evbuffer_new();\n' |
@@ -284,7 +284,7 @@ int evtag_unmarshal_%(name)s(struct evbuffer *, uint32_t, |
# Complete message marshaling |
print >>file, ( |
'void\n' |
- 'evtag_marshal_%(name)s(struct evbuffer *evbuf, uint32_t tag, ' |
+ 'evtag_marshal_%(name)s(struct evbuffer *evbuf, ev_uint32_t tag, ' |
'const struct %(name)s *msg)\n' |
'{\n' |
' struct evbuffer *_buf = evbuffer_new();\n' |
@@ -446,7 +446,7 @@ class EntryBytes(Entry): |
Entry.__init__(self, type, name, tag) |
self._length = length |
- self._ctype = 'uint8_t' |
+ self._ctype = 'ev_uint8_t' |
def GetDeclaration(self, funcname): |
code = [ 'int %s(struct %s *, %s **);' % ( |
@@ -459,7 +459,7 @@ class EntryBytes(Entry): |
return code |
def Declaration(self): |
- dcl = ['uint8_t %s_data[%s];' % (self._name, self._length)] |
+ dcl = ['ev_uint8_t %s_data[%s];' % (self._name, self._length)] |
return dcl |
@@ -533,7 +533,7 @@ class EntryInt(Entry): |
# Init base class |
Entry.__init__(self, type, name, tag) |
- self._ctype = 'uint32_t' |
+ self._ctype = 'ev_uint32_t' |
def CodeUnmarshal(self, buf, tag_name, var_name): |
code = ['if (evtag_unmarshal_int(%s, %s, &%s->%s_data) == -1) {' % ( |
@@ -550,7 +550,7 @@ class EntryInt(Entry): |
return code |
def Declaration(self): |
- dcl = ['uint32_t %s_data;' % self._name] |
+ dcl = ['ev_uint32_t %s_data;' % self._name] |
return dcl |
@@ -752,15 +752,15 @@ class EntryVarBytes(Entry): |
# Init base class |
Entry.__init__(self, type, name, tag) |
- self._ctype = 'uint8_t *' |
+ self._ctype = 'ev_uint8_t *' |
def GetDeclaration(self, funcname): |
- code = [ 'int %s(struct %s *, %s *, uint32_t *);' % ( |
+ code = [ 'int %s(struct %s *, %s *, ev_uint32_t *);' % ( |
funcname, self._struct.Name(), self._ctype ) ] |
return code |
def AssignDeclaration(self, funcname): |
- code = [ 'int %s(struct %s *, const %s, uint32_t);' % ( |
+ code = [ 'int %s(struct %s *, const %s, ev_uint32_t);' % ( |
funcname, self._struct.Name(), self._ctype ) ] |
return code |
@@ -768,7 +768,7 @@ class EntryVarBytes(Entry): |
name = self._name |
code = [ 'int', |
'%s_%s_assign(struct %s *msg, ' |
- 'const %s value, uint32_t len)' % ( |
+ 'const %s value, ev_uint32_t len)' % ( |
self._struct.Name(), name, |
self._struct.Name(), self._ctype), |
'{', |
@@ -787,7 +787,7 @@ class EntryVarBytes(Entry): |
def CodeGet(self): |
name = self._name |
code = [ 'int', |
- '%s_%s_get(struct %s *msg, %s *value, uint32_t *plen)' % ( |
+ '%s_%s_get(struct %s *msg, %s *value, ev_uint32_t *plen)' % ( |
self._struct.Name(), name, |
self._struct.Name(), self._ctype), |
'{', |
@@ -848,8 +848,8 @@ class EntryVarBytes(Entry): |
return code |
def Declaration(self): |
- dcl = ['uint8_t *%s_data;' % self._name, |
- 'uint32_t %s_length;' % self._name] |
+ dcl = ['ev_uint8_t *%s_data;' % self._name, |
+ 'ev_uint32_t %s_length;' % self._name] |
return dcl |
@@ -1318,10 +1318,17 @@ def HeaderPreamble(name): |
pre += ( |
'#define EVTAG_HAS(msg, member) ((msg)->member##_set == 1)\n' |
+ '#ifdef __GNUC__\n' |
'#define EVTAG_ASSIGN(msg, member, args...) ' |
'(*(msg)->base->member##_assign)(msg, ## args)\n' |
'#define EVTAG_GET(msg, member, args...) ' |
'(*(msg)->base->member##_get)(msg, ## args)\n' |
+ '#else\n' |
+ '#define EVTAG_ASSIGN(msg, member, ...) ' |
+ '(*(msg)->base->member##_assign)(msg, ## __VA_ARGS__)\n' |
+ '#define EVTAG_GET(msg, member, ...) ' |
+ '(*(msg)->base->member##_get)(msg, ## __VA_ARGS__)\n' |
+ '#endif\n' |
'#define EVTAG_ADD(msg, member) (*(msg)->base->member##_add)(msg)\n' |
'#define EVTAG_LEN(msg, member) ((msg)->member##_length)\n' |
) |
@@ -1344,11 +1351,17 @@ def BodyPreamble(name): |
' * by %s/%s. DO NOT EDIT THIS FILE.\n' |
' */\n\n' ) % (name, _NAME, _VERSION) |
pre += ( '#include <sys/types.h>\n' |
+ '#ifdef _EVENT_HAVE_SYS_TIME_H\n' |
'#include <sys/time.h>\n' |
+ '#endif\n' |
'#include <stdlib.h>\n' |
'#include <string.h>\n' |
'#include <assert.h>\n' |
- '#include <event.h>\n\n' ) |
+ '#define EVENT_NO_STRUCT\n' |
+ '#include <event.h>\n\n' |
+ '#ifdef _EVENT___func__\n' |
+ '#define __func__ _EVENT___func__\n' |
+ '#endif\n' ) |
for statement in cppdirect: |
pre += '%s\n' % statement |