summaryrefslogtreecommitdiff
path: root/include/gsmd/machineplugin.h
blob: 8185fb60aff2f20d933803ab50f1fac8f5db4005 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#ifndef _GSMD_MACHINEPLUG_H
#define _GSMD_MACHINEPLUG_H

#ifdef __GSMD__

#include <common/linux_list.h>
#include <gsmd/gsmd.h>

struct gsmd;

struct gsmd_machine_plugin {
	struct llist_head list;
	char *name;
	int (*power)(struct gsmd *g, int power);
	int (*ex_submit)(struct gsmd *g);
	int (*detect)(struct gsmd *g);
	int (*init)(struct gsmd *g, int fd);
};

extern int gsmd_machine_plugin_init(struct gsmd *g,
		char *machine_name, char *vendor_name);
extern int gsmd_machine_plugin_register(struct gsmd_machine_plugin *pl);
extern void gsmd_machine_plugin_unregister(struct gsmd_machine_plugin *pl);
extern int gsmd_machine_plugin_find(struct gsmd *g);

#endif /* __GSMD__ */

#endif
personal git repositories of Harald Welte. Your mileage may vary