aboutsummaryrefslogtreecommitdiffstats
path: root/package/libs/libnl-tiny/src/include/linux/if.h
blob: 4c1bcfec7f795ba5f5f8ec7be53acc7ae258c94e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
generated by cgit v1.2.3 (git 2.25.1) at 2026-02-13 02:38:39 +0000
 


session = malloc(sizeof(*session));

	session->dev = dev;

	session->callee.port = callee;
	session->callee.state = TAPI_SESSION_PORT_STATE_RINGING;
	session->callee.event_listener.callback = tapi_session_callee_event;
	session->callee.event_listener.data = session;
	tapi_port_register_event(callee, &session->callee.event_listener);

	session->caller.port = caller;
	session->caller.state = TAPI_SESSION_PORT_STATE_ACTIVE;
	session->caller.event_listener.callback = tapi_session_caller_event;
	session->caller.event_listener.data = session;
	tapi_port_register_event(caller, &session->caller.event_listener);

	tapi_port_set_ring(callee, true);
}

void tapi_session_free(struct tapi_session *session)
{
	tapi_session_terminate(session);
	tapi_port_register_event(session->callee.port, &session->callee.event_listener);
	tapi_port_register_event(session->caller.port, &session->caller.event_listener);
	free(session);
}