summaryrefslogtreecommitdiff
path: root/include/gsmd/vendorplugin.h
blob: 8669bb78e58638238a39518170af86f9ec5740bc (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
29
#ifndef _GSMD_VENDORPLUGIN_H
#define _GSMD_VENDORPLUGIN_H

#ifdef __GSMD__

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

struct gsmd;
struct gsmd_unsolicit;

struct gsmd_vendor_plugin {
	struct llist_head list;
	char *name;
	char *ext_chars;
	unsigned int num_unsolicit;
	const struct gsmd_unsolicit *unsolicit;
	int (*detect)(struct gsmd *g);
	int (*initsettings)(struct gsmd *g);
};

extern int gsmd_vendor_plugin_load(char *name);
extern int gsmd_vendor_plugin_register(struct gsmd_vendor_plugin *pl);
extern void gsmd_vendor_plugin_unregister(struct gsmd_vendor_plugin *pl);
extern int gsmd_vendor_plugin_find(struct gsmd *g);

#endif /* __GSMD__ */

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