3 * Copyright (C) James R. Leu 2000
6 * This software is covered under the LGPL, for more
7 * info check out http://www.gnu.org/copyleft/lgpl.html
10 #ifndef _LDP_STATE_MACHINE_H_
11 #define _LDP_STATE_MACHINE_H_
13 #include "ldp_struct.h"
15 extern mpls_return_enum
ldp_event(mpls_cfg_handle g
, mpls_socket_handle socket
,
16 void *extra
, ldp_event_enum event
);
18 extern mpls_return_enum
ldp_state_machine(ldp_global
*, ldp_session
*,
19 ldp_adj
*, ldp_entity
*, uint32_t, ldp_mesg
*, mpls_dest
*);
21 extern mpls_return_enum
ldp_state_new_adjacency(ldp_global
*, ldp_session
*,
22 ldp_adj
*, ldp_entity
*, uint32_t, ldp_mesg
*, mpls_dest
*);
23 extern mpls_return_enum
ldp_state_maintainance(ldp_global
*, ldp_session
*,
24 ldp_adj
*, ldp_entity
*, uint32_t, ldp_mesg
*, mpls_dest
*);
25 extern mpls_return_enum
ldp_state_recv_init(ldp_global
*, ldp_session
*,
26 ldp_adj
*, ldp_entity
*, uint32_t, ldp_mesg
*, mpls_dest
*);
27 extern mpls_return_enum
ldp_state_connect(ldp_global
*, ldp_session
*,
28 ldp_adj
*, ldp_entity
*, uint32_t, ldp_mesg
*, mpls_dest
*);
29 extern mpls_return_enum
ldp_state_finish_init(ldp_global
*, ldp_session
*,
30 ldp_adj
*, ldp_entity
*, uint32_t, ldp_mesg
*, mpls_dest
*);
31 extern mpls_return_enum
ldp_state_process(ldp_global
*, ldp_session
*,
32 ldp_adj
*, ldp_entity
*, uint32_t, ldp_mesg
*, mpls_dest
*);
33 extern mpls_return_enum
ldp_state_ignore(ldp_global
*, ldp_session
*, ldp_adj
*,
34 ldp_entity
*, uint32_t, ldp_mesg
*, mpls_dest
*);
35 extern mpls_return_enum
ldp_state_close(ldp_global
*, ldp_session
*, ldp_adj
*,
36 ldp_entity
*, uint32_t, ldp_mesg
*, mpls_dest
*);
37 extern mpls_return_enum
ldp_state_keepalive_maintainance(ldp_global
*,
38 ldp_session
*, ldp_adj
*, ldp_entity
*, uint32_t, ldp_mesg
*, mpls_dest
*);
39 extern mpls_return_enum
ldp_state_notif(ldp_global
*, ldp_session
*, ldp_adj
*,
40 ldp_entity
*, uint32_t, ldp_mesg
*, mpls_dest
*);