* Added Clixon Restconf library

* Builds and installs a new restconf library: libclixon_restconf.so and clixon_restconf.h
  * The restconf library can be included by a restconf plugin.
  * Example code in example/Makefile.in and example/restconf_lib.c
* Authorization
  * Example extended with authorization
  * Test added with http basic authorization (test/test_auth.sh)
  * Documentation in FAQ.md
* README.md extended with new yang, netconf, restconf, datastore, and auth sections.
This commit is contained in:
Olof hagsand 2018-03-25 15:47:27 +02:00
parent cce76faa79
commit bfce20c760
17 changed files with 773 additions and 157 deletions

View file

@ -47,6 +47,10 @@ typedef void *plghndl_t;
/* Find plugin by name callback. XXX Should be clicon internal */
typedef void *(find_plugin_t)(clicon_handle, char *);
/*
* Prototypes
*/
@ -60,7 +64,7 @@ typedef void *(find_plugin_t)(clicon_handle, char *);
* @see plginit_t
*/
#define PLUGIN_INIT "plugin_init"
typedef int (plginit_t)(clicon_handle); /* Plugin Init */
typedef void * (plginit_t)(clicon_handle); /* Clixon plugin Init */
/* Called when backend started with cmd-line arguments from daemon call.
* @see plgstart_t
@ -86,6 +90,18 @@ typedef int (plgexit_t)(clicon_handle); /* Plugin exit */
*/
typedef int (plgcredentials_t)(clicon_handle, void *, char **username);
/* grideye agent plugin init struct for the api
* Note: Implicit init function, see PLUGIN_INIT_FN_V2
*/
struct clixon_plugin_api{
plgcredentials_t *cp_auth;
};
/*
* Prototypes
*/
/* Find a function in global namespace or a plugin. XXX clicon internal */
void *clicon_find_func(clicon_handle h, char *plugin, char *func);