X-Git-Url: http://git.archive.openwrt.org/?p=project%2Fprocd.git;a=blobdiff_plain;f=procd.h;h=66d183c1bc11d623476a064da7e74631100b8539;hp=6461be66b3180f396af244d699daffaf8aca2036;hb=2909fab250c033eaad2b02d1b28b795d417d58e3;hpb=4a1bfc6ec5033236742967e548bfac9efe851c91 diff --git a/procd.h b/procd.h index 6461be6..66d183c 100644 --- a/procd.h +++ b/procd.h @@ -1,25 +1,59 @@ +/* + * Copyright (C) 2013 Felix Fietkau + * Copyright (C) 2013 John Crispin + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU Lesser General Public License version 2.1 + * as published by the Free Software Foundation + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + #ifndef __PROCD_H #define __PROCD_H #include +#include #include -#include -#define __init __attribute__((constructor)) +#include +#include -#define DPRINTF(fmt, ...) do { \ - if (debug) \ - fprintf(stderr, "DEBUG %s(%d): " fmt, __func__, __LINE__, ## __VA_ARGS__); \ - } while (0) +#include "log.h" -#define DEBUG(level, fmt, ...) do { \ - if (debug >= level) \ - fprintf(stderr, "DEBUG %s(%d): " fmt, __func__, __LINE__, ## __VA_ARGS__); \ - } while (0) +#define __init __attribute__((constructor)) -extern int debug; extern char *ubus_socket; +extern int upgrade_running; + void procd_connect_ubus(void); -void procd_init_service(struct ubus_context *ctx); +void procd_reconnect_ubus(int reconnect); +void ubus_init_service(struct ubus_context *ctx); +void ubus_init_system(struct ubus_context *ctx); + +void procd_state_next(void); +void procd_state_ubus_connect(void); +void procd_shutdown(int event); +void procd_early(void); +void procd_preinit(void); +void procd_coldplug(void); +void procd_signal(void); +void procd_signal_preinit(void); +void procd_inittab(void); +void procd_inittab_run(const char *action); +void procd_bcast_event(char *event, struct blob_attr *msg); + +struct trigger; +void trigger_init(void); +void trigger_event(const char *type, struct blob_attr *data); +void trigger_add(struct blob_attr *rule, void *id); +void trigger_del(void *id); + +void watch_add(const char *_name, void *id); +void watch_del(void *id); +void watch_ubus(struct ubus_context *ctx); #endif