Linux 4.1.18
[linux/fpc-iii.git] / arch / um / drivers / mconsole_kern.h
blob7a0c6a1ad1d4786c70980a2c1a558c4b1d491339
1 /*
2 * Copyright (C) 2001, 2002 Jeff Dike (jdike@karaya.com)
3 * Licensed under the GPL
4 */
6 #ifndef __MCONSOLE_KERN_H__
7 #define __MCONSOLE_KERN_H__
9 #include <linux/list.h>
10 #include "mconsole.h"
12 struct mconsole_entry {
13 struct list_head list;
14 struct mc_request request;
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 **);
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)
40 #ifdef CONFIG_MCONSOLE
42 extern void mconsole_register_dev(struct mc_device *new);
44 #else
46 static inline void mconsole_register_dev(struct mc_device *new)
50 #endif
52 #endif