diff options
Diffstat (limited to 'arch/um/include/shared/mconsole_kern.h')
| -rw-r--r-- | arch/um/include/shared/mconsole_kern.h | 52 | 
1 files changed, 52 insertions, 0 deletions
diff --git a/arch/um/include/shared/mconsole_kern.h b/arch/um/include/shared/mconsole_kern.h new file mode 100644 index 00000000000..d2fe07e7895 --- /dev/null +++ b/arch/um/include/shared/mconsole_kern.h @@ -0,0 +1,52 @@ +/* + * Copyright (C) 2001, 2002 Jeff Dike (jdike@karaya.com) + * Licensed under the GPL + */ + +#ifndef __MCONSOLE_KERN_H__ +#define __MCONSOLE_KERN_H__ + +#include "linux/list.h" +#include "mconsole.h" + +struct mconsole_entry { +	struct list_head list; +	struct mc_request request; +}; + +/* All these methods are called in process context. */ +struct mc_device { +	struct list_head list; +	char *name; +	int (*config)(char *, char **); +	int (*get_config)(char *, char *, int, char **); +	int (*id)(char **, int *, int *); +	int (*remove)(int, char **); +}; + +#define CONFIG_CHUNK(str, size, current, chunk, end) \ +do { \ +	current += strlen(chunk); \ +	if(current >= size) \ +		str = NULL; \ +	if(str != NULL){ \ +		strcpy(str, chunk); \ +		str += strlen(chunk); \ +	} \ +	if(end) \ +		current++; \ +} while(0) + +#ifdef CONFIG_MCONSOLE + +extern void mconsole_register_dev(struct mc_device *new); + +#else + +static inline void mconsole_register_dev(struct mc_device *new) +{ +} + +#endif + +#endif  | 
