1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- /*
- * 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
|