Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
•
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
arch
um
drivers
mconsole.h
Go to the documentation of this file.
1
/*
2
* Copyright (C) 2001 Lennert Buytenhek (buytenh@gnu.org)
3
* Copyright (C) 2001 - 2007 Jeff Dike (jdike@{addtoit,linux.intel}.com)
4
* Licensed under the GPL
5
*/
6
7
#ifndef __MCONSOLE_H__
8
#define __MCONSOLE_H__
9
10
#ifndef __KERNEL__
11
#include <stdint.h>
12
#define u32 uint32_t
13
#endif
14
15
#include <sysdep/ptrace.h>
16
17
#define MCONSOLE_MAGIC (0xcafebabe)
18
#define MCONSOLE_MAX_DATA (512)
19
#define MCONSOLE_VERSION 2
20
21
struct
mconsole_request
{
22
u32
magic
;
23
u32
version
;
24
u32
len
;
25
char
data
[
MCONSOLE_MAX_DATA
];
26
};
27
28
struct
mconsole_reply
{
29
u32
err
;
30
u32
more
;
31
u32
len
;
32
char
data
[
MCONSOLE_MAX_DATA
];
33
};
34
35
struct
mconsole_notify
{
36
u32
magic
;
37
u32
version
;
38
enum
{
MCONSOLE_SOCKET
,
MCONSOLE_PANIC
,
MCONSOLE_HANG
,
39
MCONSOLE_USER_NOTIFY
}
type
;
40
u32
len
;
41
char
data
[
MCONSOLE_MAX_DATA
];
42
};
43
44
struct
mc_request
;
45
46
enum
mc_context
{
MCONSOLE_INTR
,
MCONSOLE_PROC
};
47
48
struct
mconsole_command
49
{
50
char
*
command
;
51
void
(*
handler
)(
struct
mc_request
*
req
);
52
enum
mc_context
context
;
53
};
54
55
struct
mc_request
56
{
57
int
len
;
58
int
as_interrupt
;
59
60
int
originating_fd
;
61
unsigned
int
originlen
;
62
unsigned
char
origin
[128];
/* sockaddr_un */
63
64
struct
mconsole_request
request
;
65
struct
mconsole_command
*
cmd
;
66
struct
uml_pt_regs
regs
;
67
};
68
69
extern
char
mconsole_socket_name
[];
70
71
extern
int
mconsole_unlink_socket
(
void
);
72
extern
int
mconsole_reply_len
(
struct
mc_request
*
req
,
const
char
*reply,
73
int
len,
int
err
,
int
more);
74
extern
int
mconsole_reply
(
struct
mc_request
*
req
,
const
char
*
str
,
int
err
,
75
int
more);
76
77
extern
void
mconsole_version
(
struct
mc_request
*
req
);
78
extern
void
mconsole_help
(
struct
mc_request
*
req
);
79
extern
void
mconsole_halt
(
struct
mc_request
*
req
);
80
extern
void
mconsole_reboot
(
struct
mc_request
*
req
);
81
extern
void
mconsole_config
(
struct
mc_request
*
req
);
82
extern
void
mconsole_remove
(
struct
mc_request
*
req
);
83
extern
void
mconsole_sysrq
(
struct
mc_request
*
req
);
84
extern
void
mconsole_cad
(
struct
mc_request
*
req
);
85
extern
void
mconsole_stop
(
struct
mc_request
*
req
);
86
extern
void
mconsole_go
(
struct
mc_request
*
req
);
87
extern
void
mconsole_log
(
struct
mc_request
*
req
);
88
extern
void
mconsole_proc
(
struct
mc_request
*
req
);
89
extern
void
mconsole_stack
(
struct
mc_request
*
req
);
90
91
extern
int
mconsole_get_request
(
int
fd
,
struct
mc_request
*
req
);
92
extern
int
mconsole_notify
(
char
*sock_name,
int
type
,
const
void
*
data
,
93
int
len);
94
extern
char
*
mconsole_notify_socket
(
void
);
95
extern
void
lock_notify
(
void
);
96
extern
void
unlock_notify
(
void
);
97
98
#endif
Generated on Thu Jan 10 2013 13:19:18 for Linux Kernel by
1.8.2