SYMBOL INDEX (321 symbols across 35 files) FILE: lib/strlcat.c function strlcat (line 29) | size_t FILE: lib/strlcpy.c function strlcpy (line 27) | size_t FILE: lib/tempfile.c function FILE (line 37) | FILE *tempfile(void) FILE: lib/utimensat.c function utimensat (line 27) | int utimensat(int dirfd, const char *pathname, const struct timespec tim... function main (line 64) | int main(int argc, char *argv[]) FILE: src/cap.c function whoami (line 40) | static int whoami(const char *user, const char *group, uid_t *uid, gid_t... function setcaps (line 72) | static int setcaps(cap_value_t cv) function drop_root (line 94) | static int drop_root(const char *user, uid_t uid, gid_t gid) function cap_drop_root (line 132) | void cap_drop_root(uid_t uid, gid_t gid) function cap_set_user (line 142) | void cap_set_user(char *arg, uid_t *uid, gid_t *gid) FILE: src/conf.c function match (line 95) | static int match(char *keyword, char *token) function conf_mgroup (line 106) | int conf_mgroup(struct conf *conf, int cmd, char *iif, char *source, cha... function conf_mroute (line 162) | int conf_mroute(struct conf *conf, int cmd, char *iif, char *source, cha... function conf_phyint (line 274) | static int conf_phyint(struct conf *conf, int enable, char *iif, int mrd... function conf_parse (line 310) | int conf_parse(struct conf *conf, int do_vifs) function conf_read (line 485) | int conf_read(char *file, int do_vifs) FILE: src/conf.h type conf (line 12) | struct conf { type conf (line 19) | struct conf type conf (line 20) | struct conf type conf (line 21) | struct conf FILE: src/iface.c function iface_update (line 51) | void iface_update(void) function iface_init (line 123) | void iface_init(void) function iface_exit (line 131) | void iface_exit(void) type iface (line 150) | struct iface type iface (line 152) | struct iface type iface (line 171) | struct iface type iface (line 173) | struct iface type iface (line 174) | struct iface type iface (line 210) | struct iface type iface (line 212) | struct iface type iface (line 222) | struct iface type iface (line 224) | struct iface type iface (line 242) | struct iface type mroute (line 242) | struct mroute function iface_match_init (line 256) | void iface_match_init(struct ifmatch *state) function ifname_is_wildcard (line 268) | int ifname_is_wildcard(const char *ifname) type iface (line 286) | struct iface type ifmatch (line 286) | struct ifmatch type iface (line 297) | struct iface type iface (line 321) | struct iface type iface (line 323) | struct iface type iface (line 333) | struct iface type mroute (line 333) | struct mroute type iface (line 335) | struct iface function vifi_t (line 362) | vifi_t iface_get_vif(int af_family, struct iface *iface) function vifi_t (line 380) | vifi_t iface_match_vif_by_name(const char *ifname, struct ifmatch *state... function mifi_t (line 409) | mifi_t iface_match_mif_by_name(const char *ifname, struct ifmatch *state... function iface_show (line 429) | int iface_show(int sd, int detail) FILE: src/iface.h type iface (line 20) | struct iface { type ifmatch (line 34) | struct ifmatch { type iface (line 43) | struct iface type iface (line 44) | struct iface type mroute (line 44) | struct mroute type iface (line 46) | struct iface type iface (line 47) | struct iface type iface (line 48) | struct iface type mroute (line 48) | struct mroute type ifmatch (line 50) | struct ifmatch type iface (line 51) | struct iface type ifmatch (line 51) | struct ifmatch type iface (line 54) | struct iface type ifmatch (line 55) | struct ifmatch type iface (line 55) | struct iface type ifmatch (line 56) | struct ifmatch type iface (line 56) | struct iface function iface_exist (line 63) | static inline int iface_exist(char *ifname) function iface_ifname_maxlen (line 71) | static inline int iface_ifname_maxlen(void) FILE: src/inet.c function inet_addr_set (line 22) | void inet_addr_set(inet_addr_t *addr, const struct in_addr *ina) type in_addr (line 34) | struct in_addr type sockaddr_in (line 36) | struct sockaddr_in type sockaddr_in (line 36) | struct sockaddr_in function inet_addr6_set (line 45) | void inet_addr6_set(inet_addr_t *addr, const struct in6_addr *ina) type sockaddr_in6 (line 57) | struct sockaddr_in6 type sockaddr_in6 (line 59) | struct sockaddr_in6 type sockaddr_in6 (line 59) | struct sockaddr_in6 function inet_anyaddr (line 68) | void inet_anyaddr(sa_family_t family, inet_addr_t *addr) function inet_addr_t (line 92) | inet_addr_t inet_netaddr(inet_addr_t *addr, int len) function inet_addr_cmp (line 132) | int inet_addr_cmp(inet_addr_t *a, inet_addr_t *b) type sockaddr_in (line 161) | struct sockaddr_in type sockaddr_in (line 161) | struct sockaddr_in type sockaddr_in6 (line 165) | struct sockaddr_in6 type sockaddr_in6 (line 165) | struct sockaddr_in6 function inet_str2addr (line 173) | int inet_str2addr(const char *str, inet_addr_t *addr) function is_multicast (line 208) | int is_multicast(inet_addr_t *addr) function is_anyaddr (line 222) | int is_anyaddr(inet_addr_t *addr) function inet_iter_init (line 236) | int inet_iter_init(struct inet_iter *iter, inet_addr_t *addr, int len) function inet_iterator (line 262) | int inet_iterator(struct inet_iter *iter, inet_addr_t *addr) function main (line 306) | int main(void) FILE: src/inet.h type inet_addr_t (line 37) | typedef struct sockaddr_storage inet_addr_t; type inet_iter (line 49) | struct inet_iter { type in_addr (line 57) | struct in_addr type in_addr (line 58) | struct in_addr type in6_addr (line 61) | struct in6_addr type sockaddr_in6 (line 62) | struct sockaddr_in6 type inet_iter (line 76) | struct inet_iter type inet_iter (line 77) | struct inet_iter function inet_max_len (line 79) | static inline int inet_max_len (inet_addr_t *addr) FILE: src/ip_mroute.h type u_int32_t (line 113) | typedef u_int32_t vifbitmap_t; type u_short (line 114) | typedef u_short vifi_t; type vifctl (line 129) | struct vifctl { type mfcctl (line 145) | struct mfcctl { type mrtstat (line 155) | struct mrtstat { type sioc_sg_req (line 174) | struct sioc_sg_req { type sioc_vif_req (line 185) | struct sioc_vif_req { type tbf (line 197) | struct tbf type ifnet (line 198) | struct ifnet type socket (line 199) | struct socket type vif (line 200) | struct vif { type mfc (line 223) | struct mfc { type igmpmsg (line 241) | struct igmpmsg { type rtdetq (line 259) | struct rtdetq { type tbf (line 286) | struct tbf type sockopt (line 297) | struct sockopt type socket (line 299) | struct socket type sockopt (line 299) | struct sockopt type socket (line 300) | struct socket type sockopt (line 300) | struct sockopt type proc (line 305) | struct proc FILE: src/ipc.c type sockaddr_un (line 43) | struct sockaddr_un function ipc_read (line 54) | static void ipc_read(int sd) function ipc_accept (line 127) | static void ipc_accept(int sd, void *arg) function ipc_init (line 148) | int ipc_init(char *path) function ipc_exit (line 187) | void ipc_exit(void) function ipc_send (line 205) | int ipc_send(int sd, const char *buf, size_t len) function ipc_receive (line 226) | ssize_t ipc_receive(int sd, char *buf, size_t len, int first_call) function ipc_parse (line 253) | int ipc_parse(const char *buf, size_t sz, void* msg_buf) FILE: src/kern.c type iface (line 48) | struct iface type mif (line 52) | struct mif { function group_req (line 68) | static int group_req(int sd, int cmd, struct mcgroup *mcg) function group_req (line 117) | static int group_req(int sd, int cmd, struct mcgroup *mcg) function kern_join_leave (line 167) | int kern_join_leave(int sd, int cmd, struct mcgroup *mcg) function kern_mroute_init (line 189) | int kern_mroute_init(int table_id, void (*cb)(int, void *), void *arg) function kern_mroute_exit (line 229) | int kern_mroute_exit(void) function kern_vif_add (line 245) | int kern_vif_add(struct iface *iface) function kern_vif_del (line 296) | int kern_vif_del(struct iface *iface) function kern_mroute4 (line 324) | static int kern_mroute4(int cmd, struct mroute *route) function kern_stats4 (line 364) | static int kern_stats4(struct mroute *route, struct mroute_stats *ms) function proc_set_val (line 392) | static int proc_set_val(char *file, int val) function kern_mroute6_init (line 409) | int kern_mroute6_init(int table_id, void (*cb)(int, void *), void *arg) function kern_mroute6_exit (line 459) | int kern_mroute6_exit(void) function kern_mif_add (line 475) | int kern_mif_add(struct iface *iface) function kern_mif_del (line 524) | int kern_mif_del(struct iface *iface) function kern_mroute6 (line 546) | static int kern_mroute6(int cmd, struct mroute *route) function kern_stats6 (line 589) | static int kern_stats6(struct mroute *route, struct mroute_stats *ms) function kern_stats (line 616) | int kern_stats(struct mroute *route, struct mroute_stats *ms) function kern_mroute_add (line 629) | int kern_mroute_add(struct mroute *route) function kern_mroute_del (line 642) | int kern_mroute_del(struct mroute *route) FILE: src/kern.h type mroute_stats (line 24) | struct mroute_stats { type mcgroup (line 30) | struct mcgroup type iface (line 38) | struct iface type iface (line 39) | struct iface type iface (line 41) | struct iface type iface (line 42) | struct iface type mroute (line 44) | struct mroute type mroute (line 45) | struct mroute type mroute (line 47) | struct mroute type mroute_stats (line 47) | struct mroute_stats FILE: src/log.c function loglvl (line 40) | int loglvl(const char *level) function smclog (line 65) | void smclog(int severity, const char *fmt, ...) FILE: src/mcgroup.c type sock_filter (line 57) | struct sock_filter type sock_fprog (line 61) | struct sock_fprog type mc_sock (line 75) | struct mc_sock { function alloc_mc_sock (line 85) | static int alloc_mc_sock(int family) function free_mc_sock (line 124) | static void free_mc_sock(int sd) type iface (line 142) | struct iface type ifmatch (line 142) | struct ifmatch type iface (line 144) | struct iface function list_add (line 152) | static void list_add(int sd, struct mcgroup *mcg) function list_rem (line 168) | static void list_rem(int sd, struct mcgroup *mcg) function mcgroup_init (line 187) | void mcgroup_init(void) function mcgroup_exit (line 209) | void mcgroup_exit(void) type mcgroup (line 224) | struct mcgroup type mcgroup (line 226) | struct mcgroup type mcgroup (line 242) | struct mcgroup type mcgroup (line 242) | struct mcgroup type mcgroup (line 244) | struct mcgroup function mcgroup_action (line 260) | int mcgroup_action(int cmd, const char *ifname, inet_addr_t *source, int... function mcgroup_reload_beg (line 391) | void mcgroup_reload_beg(void) function mcgroup_reload_end (line 399) | void mcgroup_reload_end(void) function mcgroup_prune (line 425) | void mcgroup_prune(char *ifname) function show_mcgroup (line 437) | static int show_mcgroup(int sd, struct mcgroup *entry) function mcgroup_show (line 472) | int mcgroup_show(int sd, int detail) FILE: src/mcgroup.h type mcgroup (line 8) | struct mcgroup { FILE: src/mrdisc.c type ifsock (line 60) | struct ifsock { type ifsock (line 72) | struct ifsock type ifsock (line 74) | struct ifsock function in_cksum (line 85) | static unsigned short in_cksum(unsigned short *addr, int len) function compose_addr (line 116) | static void compose_addr(struct sockaddr_in *sin, char *group) function inet_send (line 123) | static int inet_send(int sd, uint8_t type, uint8_t interval) function inet_recv (line 144) | static int inet_recv(int sd, uint8_t interval) function inet_open (line 166) | static int inet_open(char *ifname) function inet_close (line 236) | static int inet_close(int sd) function announce (line 242) | static void announce(struct ifsock *entry) function mrdisc_init (line 257) | int mrdisc_init(int period) function mrdisc_exit (line 268) | int mrdisc_exit(void) function mrdisc_register (line 284) | int mrdisc_register(char *ifname, short vif) function mrdisc_deregister (line 314) | int mrdisc_deregister(short vif) function mrdisc_send (line 331) | void mrdisc_send(void *arg) function mrdisc_recv (line 340) | void mrdisc_recv(int sd, void *arg) FILE: src/mroute.c type iface (line 59) | struct iface type mroute (line 60) | struct mroute type mroute (line 61) | struct mroute type mroute (line 61) | struct mroute type mroute (line 62) | struct mroute type mroute (line 62) | struct mroute type mroute (line 63) | struct mroute type mroute (line 64) | struct mroute function handle_nocache4 (line 67) | static void handle_nocache4(int sd, void *arg) function cache_flush (line 153) | static void cache_flush(void *arg) function mroute4_enable (line 170) | static int mroute4_enable(int do_vifs, int table_id) function mroute4_disable (line 217) | static void mroute4_disable(void) function mroute4_prune_vif (line 238) | static void mroute4_prune_vif(int vif) function mroute4_add_vif (line 259) | static int mroute4_add_vif(struct iface *iface) function mroute4_del_vif (line 294) | static int mroute4_del_vif(struct iface *iface) function is_exact_match (line 323) | static int is_exact_match(struct mroute *rule, struct mroute *cand) function is_match (line 351) | int is_match(struct mroute *rule, struct mroute *cand) function is_ssm (line 375) | static int is_ssm(struct mroute *route) type mroute (line 383) | struct mroute type mroute (line 383) | struct mroute type mroute (line 385) | struct mroute type mroute (line 396) | struct mroute type mroute (line 396) | struct mroute type mroute (line 398) | struct mroute function is_active (line 408) | static int is_active(struct mroute *route) function get_valid_pkt (line 424) | static unsigned long get_valid_pkt(struct mroute *route) function mroute_expire (line 444) | void mroute_expire(int max_idle) function mfc_install (line 505) | static int mfc_install(struct mroute *route) function mfc_uninstall (line 550) | static int mfc_uninstall(struct mroute *route) function mroute_add_route (line 615) | int mroute_add_route(struct mroute *route) function mroute_del_route (line 660) | int mroute_del_route(struct mroute *route) type iface (line 695) | struct iface function handle_nocache6 (line 701) | static void handle_nocache6(int sd, void *arg) function mroute6_enable (line 793) | static int mroute6_enable(int do_vifs, int table_id) function mroute6_disable (line 848) | static void mroute6_disable(void) function mroute6_prune_mif (line 860) | static void mroute6_prune_mif(int mif) function mroute6_add_mif (line 881) | static int mroute6_add_mif(struct iface *iface) function mroute6_del_mif (line 914) | static int mroute6_del_mif(struct iface *iface) function mroute_dyn_add (line 948) | static int mroute_dyn_add(struct mroute *route) function mroute_init (line 984) | int mroute_init(int do_vifs, int table_id, int cache_tmo) function mroute_exit (line 1001) | void mroute_exit(void) function mroute_add_vif (line 1008) | int mroute_add_vif(char *ifname, uint8_t mrdisc, uint8_t ttl) function mroute_del_vif (line 1037) | int mroute_del_vif(char *ifname) function mroute_reload_beg (line 1067) | void mroute_reload_beg(void) function mroute_reload_end (line 1082) | void mroute_reload_end(int do_vifs) function show_mroute (line 1108) | static int show_mroute(int sd, struct mroute *r, int inw, int detail) function has_any_ssm (line 1166) | static int has_any_ssm(void) function has_any_asm (line 1178) | static int has_any_asm(void) function mroute_show (line 1191) | int mroute_show(int sd, int detail) FILE: src/mroute.h type mifi_t (line 86) | typedef unsigned short mifi_t; type mroute (line 89) | struct mroute { type mroute (line 115) | struct mroute type mroute (line 116) | struct mroute FILE: src/msg.c function is_range (line 44) | int is_range(char *arg) function do_mgroup (line 57) | static int do_mgroup(struct ipc_msg *msg) function do_mroute (line 76) | static int do_mroute(struct ipc_msg *msg) function do_show (line 122) | static int do_show(struct ipc_msg *msg, int sd, int detail) function msg_do (line 145) | int msg_do(int sd, struct ipc_msg *msg) FILE: src/msg.h type ipc_msg (line 42) | struct ipc_msg { type ipc_msg (line 49) | struct ipc_msg FILE: src/notify.c function notify_ready (line 27) | void notify_ready(char *pidfn, uid_t uid, gid_t gid) function notify_reload (line 38) | void notify_reload(void) FILE: src/pidfile.c function pidfile_cleanup (line 54) | static void pidfile_cleanup(void) function pidfile_create (line 63) | int pidfile_create(const char *basename, uid_t uid, gid_t gid) FILE: src/queue.h type type (line 175) | struct type type type (line 250) | struct type type type (line 330) | struct type type type (line 410) | struct type type type (line 419) | struct type FILE: src/script.c function handler (line 36) | static void handler(int signo) function script_init (line 60) | int script_init(char *script) function script_exec (line 78) | int script_exec(struct mroute *mroute) FILE: src/script.h type mroute (line 8) | struct mroute FILE: src/smcroutectl.c type arg (line 51) | struct arg { type ipc_msg (line 87) | struct ipc_msg type ipc_msg (line 89) | struct ipc_msg type ipc_msg (line 97) | struct ipc_msg function get_width (line 122) | static int get_width(void) function print (line 151) | static void print(char *line, int indent) function ipc_connect (line 212) | static int ipc_connect(char *path) function ipc_command (line 247) | static int ipc_command(uint16_t cmd, char *argv[], size_t count) function usage (line 337) | static int usage(int code) function version (line 386) | static int version(void) function parse (line 397) | static int parse(int pos, int argc, char *argv[]) function batch (line 468) | static int batch(void) function main (line 506) | int main(int argc, char *argv[]) FILE: src/smcrouted.c function clean (line 75) | static void clean(void) function reload (line 85) | void reload(void) function handler (line 106) | static void handler(int signo) function signal_init (line 120) | static void signal_init(void) function server_exit (line 133) | static void server_exit(void *arg) function server_loop (line 140) | static int server_loop(void) function start_server (line 159) | static int start_server(void) function cleanup (line 232) | static void cleanup(void) function compose_paths (line 242) | static int compose_paths(void) function usage (line 278) | static int usage(int code) function main (line 362) | int main(int argc, char *argv[]) FILE: src/socket.c type sock (line 39) | struct sock { function nfds (line 52) | int nfds(void) function socket_register (line 60) | int socket_register(int sd, void (*cb)(int, void *), void *arg) function socket_create (line 89) | int socket_create(int domain, int type, int proto, void (*cb)(int, void ... function socket_close (line 132) | int socket_close(int sd) function socket_poll (line 150) | int socket_poll(struct timeval *timeout) FILE: src/socket.h type timeval (line 30) | struct timeval FILE: src/systemd.c function systemd_notify_ready (line 5) | void systemd_notify_ready(const char *status) function systemd_notify_reload (line 10) | void systemd_notify_reload(const char *status) FILE: src/timer.c type timer (line 39) | struct timer { function set (line 55) | static void set(struct timer *t, struct timespec *now) function expired (line 61) | static int expired(struct timer *t, struct timespec *now) type timer (line 77) | struct timer type timer (line 77) | struct timer type timer (line 77) | struct timer type timer (line 93) | struct timer type timer (line 95) | struct timer function start (line 108) | static int start(struct timespec *now) function run (line 137) | static void run(int sd, void *arg) function handler (line 165) | static void handler(int signo) function timer_init (line 175) | int timer_init(void) function timer_exit (line 204) | void timer_exit(void) function timer_add (line 222) | int timer_add(int period, void (*cb)(void *), void *arg) function timer_del (line 257) | int timer_del(void (*cb)(void *), void *arg) FILE: src/util.h type timespec (line 25) | struct timespec