summaryrefslogtreecommitdiffstats
path: root/mdk-stage1/insmod-modutils/include/kerneld.h
blob: 3bc2c9d423108d78cfcf8355db784e8104b35b29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
/* Definitions for the Linux kerneld SYSV IPC interface.
   This file was part of the Linux kernel, and so is covered by the GPL.  */

#ifndef MODUTILS_KERNELD_H
#define MODUTILS_KERNELD_H

#ident "$Id$"

#define KERNELD_SYSTEM 1
#define KERNELD_REQUEST_MODULE 2		/* "insmod" */
#define KERNELD_RELEASE_MODULE 3		/* "rmmod" */
#define KERNELD_DELAYED_RELEASE_MODULE 4	/* "rmmod" */
#define KERNELD_CANCEL_RELEASE_MODULE 5		/* "rmmod" */
#define KERNELD_REQUEST_ROUTE 6			/* net/ipv4/route.c */
#define KERNELD_BLANKER 7			/* drivers/char/console.c */
#define KERNELD_PNP 8				/* drivers/pnp/kerneld.c */
#define KERNELD_ARP 256				/* net/ipv4/arp.c */

#ifdef NEW_KERNELD_PROTOCOL
# define OLDIPC_KERNELD 00040000	/* old kerneld message channel */
# define IPC_KERNELD 00140000		/* new kerneld message channel */
# define KDHDR (sizeof(long) + sizeof(short) + sizeof(short))
# define NULL_KDHDR 0, 2, 0
#else /* NEW_KERNELD_PROTOCOL */
# define IPC_KERNELD 00040000
# define KDHDR (sizeof(long))
# define NULL_KDHDR 0
#endif /* NEW_KERNELD_PROTOCOL */

#define KERNELD_MAXCMD 0x7ffeffff
#define KERNELD_MINSEQ 0x7fff0000 /* "commands" legal up to 0x7ffeffff */
#define KERNELD_WAIT 0x80000000
#define KERNELD_NOWAIT 0

struct kerneld_msg
  {
    long mtype;
    long id;
#ifdef NEW_KERNELD_PROTOCOL
    short version;
    short pid;
#endif /* NEW_KERNELD_PROTOCOL */
    char text[1];
  };

#endif /* kerneld.h */