fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / um / include / mconsole.h
index 7eea2fa..2666815 100644 (file)
@@ -32,7 +32,7 @@ struct mconsole_reply {
 
 struct mconsole_notify {
        u32 magic;
-       u32 version;    
+       u32 version;
        enum { MCONSOLE_SOCKET, MCONSOLE_PANIC, MCONSOLE_HANG,
               MCONSOLE_USER_NOTIFY } type;
        u32 len;
@@ -41,11 +41,13 @@ struct mconsole_notify {
 
 struct mc_request;
 
+enum mc_context { MCONSOLE_INTR, MCONSOLE_PROC };
+
 struct mconsole_command
 {
        char *command;
        void (*handler)(struct mc_request *req);
-       int as_interrupt;
+       enum mc_context context;
 };
 
 struct mc_request
@@ -54,17 +56,20 @@ struct mc_request
        int as_interrupt;
 
        int originating_fd;
-       int originlen;
+       unsigned int originlen;
        unsigned char origin[128];                      /* sockaddr_un */
 
        struct mconsole_request request;
        struct mconsole_command *cmd;
+       union uml_pt_regs regs;
 };
 
 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);
@@ -77,9 +82,12 @@ extern void mconsole_sysrq(struct mc_request *req);
 extern void mconsole_cad(struct mc_request *req);
 extern void mconsole_stop(struct mc_request *req);
 extern void mconsole_go(struct mc_request *req);
+extern void mconsole_log(struct mc_request *req);
+extern void mconsole_proc(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);