Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/um/include/shared/mconsole_kern.h
10819 views
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
12
struct mconsole_entry {
13
struct list_head list;
14
struct mc_request request;
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
53
54