]> git.meshlink.io Git - meshlink/blobdiff - src/libmeshlink.h
Push data from the application to the library and print to screen this data in route...
[meshlink] / src / libmeshlink.h
index 02a944840b3ab3d92c28605c20b4b950cd3d299a..df1fc8d764be6df525b1b644d24d1a5ebfe6c178 100644 (file)
 #include "names.h"
 //#include "tincctl.h"
 #include "xalloc.h"
+#include "logger.h"
+#include "route.h"
 
 extern char *hosts_dir;
+extern FILE *fopenmask(const char *filename, const char *mode, mode_t perms);
 
 extern int check_port(char *name);
+
+bool tinc_main_thread(void * in);
+
 /* OLD: tinc_configuration_t provides all information required to setup "/etc/tinc"
 I think tinc_setup() should basically do what cmd_init() from src/tincctl.c does, except it doesn't have to generate a tinc-up script.
 */
-bool tinc_setup(const char* tinc_conf, const char* name);
+bool tinc_setup(const char* confbase, const char* name);
 
 bool tinc_start(const char* path);
 
 bool tinc_stop();
 
+typedef struct tincpackethdr {
+  /* Use a standard Type-Length-Value (TLV) element */
+  u_int8_t type;
+  u_int8_t len;
+  u_int16_t reserved;                  /* Always 0 */
+  u_int32_t destination;
+  u_int32_t source;
+} __attribute__ ((__packed__)) tincpackethdr;
+
+typedef struct tincremotehost {
+  char *name;
+  char *publickey;
+
+} tincremotehost;
+
 // can be called from any thread
-bool tinc_send_packet(node_t *receiver, const char* buf, unsigned int len);
+bool tinc_send_packet(tincremotehost *receiver, const char* buf, unsigned int len);
 
 // handler runs in tinc thread and should return immediately
 bool tinc_set_packet_receive_handler(void (*handler)(const char* sender, const char* buf, unsigned int len));