return(1);
 }
 
-int mconsole_reply(struct mc_request *req, char *str, int err, int more)
+int mconsole_reply_len(struct mc_request *req, const char *str, int total,
+                      int err, int more)
 {
        struct mconsole_reply reply;
-       int total, len, n;
+       int len, n;
 
-       total = strlen(str);
        do {
                reply.err = err;
 
        return(0);
 }
 
+int mconsole_reply(struct mc_request *req, const char *str, int err, int more)
+{
+       return mconsole_reply_len(req, str, strlen(str), err, more);
+}
+
+
 int mconsole_unlink_socket(void)
 {
        unlink(mconsole_socket_name);
 
 
 struct mconsole_notify {
        u32 magic;
-       u32 version;    
+       u32 version;
        enum { MCONSOLE_SOCKET, MCONSOLE_PANIC, MCONSOLE_HANG,
               MCONSOLE_USER_NOTIFY } type;
        u32 len;
 extern char mconsole_socket_name[];
 
 extern int mconsole_unlink_socket(void);
-extern int mconsole_reply(struct mc_request *req, char *reply, int err,
+extern int mconsole_reply_len(struct mc_request *req, const char *reply,
+                             int len, int err, int more);
+extern int mconsole_reply(struct mc_request *req, const char *str, int err,
                          int more);
 
 extern void mconsole_version(struct mc_request *req);
 extern void mconsole_stack(struct mc_request *req);
 
 extern int mconsole_get_request(int fd, struct mc_request *req);
-extern int mconsole_notify(char *sock_name, int type, const void *data, 
+extern int mconsole_notify(char *sock_name, int type, const void *data,
                           int len);
 extern char *mconsole_notify_socket(void);
 extern void lock_notify(void);