#include <syslog.h>
  #include <netinet/in.h>
  #include <lua.h>
+ #include <signal.h>
  
  #include "ae.h"      /* Event driven programming library */
  #include "sds.h"     /* Dynamic safe strings */
  #define REDIS_REQ_INLINE 1
  #define REDIS_REQ_MULTIBULK 2
  
 +/* Client classes for client limits, currently used only for
 + * the max-client-output-buffer limit implementation. */
 +#define REDIS_CLIENT_LIMIT_CLASS_NORMAL 0
 +#define REDIS_CLIENT_LIMIT_CLASS_SLAVE 1
 +#define REDIS_CLIENT_LIMIT_CLASS_PUBSUB 2
 +
  /* Slave replication state - slave side */
  #define REDIS_REPL_NONE 0 /* No active replication */
  #define REDIS_REPL_CONNECT 1 /* Must connect to master */
      int multibulklen;       /* number of multi bulk arguments left to read */
      long bulklen;           /* length of bulk argument in multi bulk request */
      list *reply;
 +    unsigned long reply_bytes; /* Tot bytes of objects in reply list */
      int sentlen;
      time_t lastinteraction; /* time of the last interaction, used for timeout */
      int flags;              /* REDIS_SLAVE | REDIS_MONITOR | REDIS_MULTI ... */
  sds getAllClientsInfoString(void);
  void rewriteClientCommandVector(redisClient *c, int argc, ...);
  void rewriteClientCommandArgument(redisClient *c, int i, robj *newval);
 +unsigned long getClientOutputBufferMemoryUsage(redisClient *c);
  
  #ifdef __GNUC__
  void addReplyErrorFormat(redisClient *c, const char *fmt, ...)
  void _redisPanic(char *msg, char *file, int line);
  void bugReportStart(void);
  void redisLogObjectDebugInfo(robj *o);
- 
+ void sigsegvHandler(int sig, siginfo_t *info, void *secret);
+ sds genRedisInfoString(char *section);
  #endif