Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
mconsole_kern.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2001, 2002 Jeff Dike ([email protected])
3  * Licensed under the GPL
4  */
5 
6 #ifndef __MCONSOLE_KERN_H__
7 #define __MCONSOLE_KERN_H__
8 
9 #include <linux/list.h>
10 #include "mconsole.h"
11 
13  struct list_head list;
15 };
16 
17 /* All these methods are called in process context. */
18 struct mc_device {
19  struct list_head list;
20  char *name;
21  int (*config)(char *, char **);
22  int (*get_config)(char *, char *, int, char **);
23  int (*id)(char **, int *, int *);
24  int (*remove)(int, char **);
25 };
26 
27 #define CONFIG_CHUNK(str, size, current, chunk, end) \
28 do { \
29  current += strlen(chunk); \
30  if(current >= size) \
31  str = NULL; \
32  if(str != NULL){ \
33  strcpy(str, chunk); \
34  str += strlen(chunk); \
35  } \
36  if(end) \
37  current++; \
38 } while(0)
39 
40 #ifdef CONFIG_MCONSOLE
41 
42 extern void mconsole_register_dev(struct mc_device *new);
43 
44 #else
45 
46 static inline void mconsole_register_dev(struct mc_device *new)
47 {
48 }
49 
50 #endif
51 
52 #endif