27 #include <hicn/hicn-light/config.h>
28 #include <hicn/core/connectionState.h>
29 #include <hicn/io/ioOperations.h>
30 #include <hicn/utils/address.h>
34 CONNECTION_EVENT_CREATE,
35 CONNECTION_EVENT_DELETE,
36 CONNECTION_EVENT_UPDATE,
37 CONNECTION_EVENT_SET_UP,
38 CONNECTION_EVENT_SET_DOWN,
39 CONNECTION_EVENT_PRIORITY_CHANGED,
40 CONNECTION_EVENT_TAGS_CHANGED,
50 typedef struct connection Connection;
152 bool connection_ReSend(
const Connection *conn, Message *message,
155 void connection_Probe(Connection *conn, uint8_t *probe);
157 void connection_HandleProbe(Connection *conn, uint8_t *message);
159 void connection_AllowWldrAutoStart(Connection *conn,
bool allow);
161 void connection_EnableWldr(Connection *conn);
163 void connection_DisableWldr(Connection *conn);
165 bool connection_HasWldr(
const Connection *conn);
167 bool connection_WldrAutoStartAllowed(
const Connection *conn);
169 void connection_DetectLosses(Connection *conn, Message *message);
171 void connection_HandleWldrNotification(Connection *conn, Message *message);
173 connection_state_t connection_GetState(
const Connection *conn);
175 void connection_SetState(Connection *conn, connection_state_t state);
177 connection_state_t connection_GetAdminState(
const Connection *conn);
179 void connection_SetAdminState(Connection *conn, connection_state_t admin_state);
182 uint32_t connection_GetPriority(
const Connection *conn);
184 void connection_SetPriority(Connection *conn, uint32_t priority);
187 const char * connection_GetInterfaceName(
const Connection * conn);
190 void connection_AddTag(Connection *conn, policy_tag_t tag);
191 void connection_RemoveTag(Connection *conn, policy_tag_t tag);
192 policy_tags_t connection_GetTags(
const Connection *conn);
193 void connection_SetTags(Connection *conn, policy_tags_t tags);
194 void connection_ClearTags(Connection *conn);
195 int connection_HasTag(
const Connection *conn, policy_tag_t tag);
198 #endif // connection_h