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 (
[email protected]
)
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