lib_table.h
Go to the documentation of this file.
1 /*
2  * Copyright (C) 2014 Freie Universit├Ąt Berlin
3  *
4  * This file is subject to the terms and conditions of the GNU Lesser
5  * General Public License v2.1. See the file LICENSE in the top level
6  * directory for more details.
7  */
8 
19 #ifndef LIB_TABLE_H
20 #define LIB_TABLE_H
21 
22 #include "kernel_types.h"
23 
24 #include "rfc5444/rfc5444_writer.h"
25 
26 #include "nhdp_address.h"
27 
28 #ifdef __cplusplus
29 extern "C" {
30 #endif
31 
35 typedef struct lib_entry {
38  struct lib_entry *next;
39 } lib_entry_t;
40 
53 
60 
70 void lib_fill_wr_addresses(kernel_pid_t if_pid, struct rfc5444_writer *wr);
71 
83 
84 #ifdef __cplusplus
85 }
86 #endif
87 
88 #endif /* LIB_TABLE_H */
89 
Types used by the kernel.
int lib_add_if_addr(kernel_pid_t if_pid, nhdp_addr_t *addr)
Add an interface to the Local Information Base.
Local Interface Set entry (local interface tuple)
Definition: lib_table.h:35
int16_t kernel_pid_t
Unique process identifier.
Definition: kernel_types.h:83
kernel_pid_t if_pid
PID of the interface's handling thread.
Definition: lib_table.h:36
NHDP address representation.
Definition: nhdp_address.h:29
Container for NHDP address storage in a list.
Definition: nhdp_address.h:42
Centralized address storage interface for NHDP.
uint8_t lib_is_reg_addr(kernel_pid_t if_pid, nhdp_addr_t *addr)
Check whether a given NHDP address is used as a local address.
void lib_fill_wr_addresses(kernel_pid_t if_pid, struct rfc5444_writer *wr)
Add addresses to the currently constructed HELLO message.
struct lib_entry * next
Pointer to next list entry.
Definition: lib_table.h:38
struct lib_entry lib_entry_t
Local Interface Set entry (local interface tuple)
nhdp_addr_entry_t * if_addr_list_head
Pointer to head of this interface's addr list.
Definition: lib_table.h:37
void lib_rem_if(kernel_pid_t if_pid)
Remove a given interface's Local Information Base entry.