Hamlib  3.0
Data Structures | Macros | Typedefs | Functions
register.c File Reference

Dynamic registration of backends. More...

#include <errno.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <register.h>
#include <hamlib/rig.h>

Data Structures

struct  rig_list
 

Macros

#define PATH_MAX   1024
 
#define RIG_BACKEND_MAX   32
 
#define DEFINE_INITRIG_BACKEND(backend)
 
#define RIG_FUNCNAMA(backend)   MAKE_VERSIONED_FN(PREFIX_INITRIG, ABI_VERSION, backend)
 
#define RIG_FUNCNAMB(backend)   MAKE_VERSIONED_FN(PREFIX_PROBERIG, ABI_VERSION, backend)
 
#define RIG_FUNCNAM(backend)   RIG_FUNCNAMA(backend),RIG_FUNCNAMB(backend)
 
#define RIGLSTHASHSZ   16
 
#define HASH_FUNC(a)   ((a)%RIGLSTHASHSZ)
 

Typedefs

typedef int(* backend_init_t) (char *)
 

Functions

int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, dummy(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, dummy(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, yaesu(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, yaesu(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, kenwood(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, kenwood(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, icom(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, icom(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, icmarine(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, icmarine(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, pcr(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, pcr(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, aor(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, aor(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, jrc(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, jrc(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, uniden(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, uniden(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, drake(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, drake(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, lowe(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, lowe(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, racal(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, racal(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, wj(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, wj(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, skanti(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, skanti(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, tentec(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, tentec(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, alinco(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, alinco(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, kachina(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, kachina(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, tapr(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, tapr(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, flexradio(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, flexradio(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, rft(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, rft(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, kit(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, kit(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, tuner(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, tuner(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, rs(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, rs(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, prm80(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, prm80(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int MAKE_VERSIONED_FN (PREFIX_INITRIG, ABI_VERSION, adat(void *be_handle))
 
rig_model_t MAKE_VERSIONED_FN (PREFIX_PROBERIG, ABI_VERSION, adat(hamlib_port_t *port, rig_probe_func_t cfunc, char *data))
 
int rig_register (const struct rig_caps *caps)
 
const struct rig_capsrig_get_caps (rig_model_t rig_model)
 
int rig_check_backend (rig_model_t rig_model)
 
int rig_unregister (rig_model_t rig_model)
 
int rig_list_foreach (int(*cfunc)(const struct rig_caps *, char *), char *data)
 
rig_model_t rig_probe_first (hamlib_port_t *p)
 
int rig_probe_all_backends (hamlib_port_t *p, rig_probe_func_t cfunc, char *data)
 
int rig_load_all_backends ()
 
int rig_load_backend (const char *be_name)
 

Detailed Description

Dynamic registration of backends.

doc todo: Let's explain what's going on here!

Macro Definition Documentation

#define DEFINE_INITRIG_BACKEND (   backend)
Value:
int MAKE_VERSIONED_FN(PREFIX_INITRIG, ABI_VERSION, backend(void *be_handle)); \
rig_model_t MAKE_VERSIONED_FN(PREFIX_PROBERIG, ABI_VERSION, backend(hamlib_port_t *port, rig_probe_func_t cfunc, rig_ptr_t data))
int rig_model_t
Convenience type definition for rig model.
Definition: riglist.h:540
Port definition.
Definition: rig.h:1338

Generated by doxygen 1.8.9.1

Hamlib documentation for version 3.0 -- Sun Oct 4 2015 11:13:15
Project page: http://www.hamlib.org