blob: 90801fd123774cc104d69abb3c5ace3f11570168 (
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
|
/*
* DECT Supplementary Services (SS)
*
* Copyright (c) 2009-2010 Patrick McHardy <kaber@trash.net>
*/
#ifndef _LIBDECT_SS_H
#define _LIBDECT_SS_H
/**
* Call Independant Supplementary Services messages types
*/
enum dect_ciss_msg_types {
DECT_CISS_RELEASE_COM = 0x5a,
DECT_CISS_FACILITY = 0x62,
DECT_CISS_REGISTER = 0x64,
};
struct dect_ciss_release_com_msg {
struct dect_msg_common common;
struct dect_ie_release_reason *release_reason;
struct dect_ie_list facility;
struct dect_ie_display *display;
struct dect_ie_keypad *keypad;
struct dect_ie_feature_activate *feature_activate;
struct dect_ie_feature_indicate *feature_indicate;
struct dect_ie_escape_to_proprietary *escape_to_proprietary;
};
struct dect_ciss_facility_msg {
struct dect_msg_common common;
struct dect_ie_list facility;
struct dect_ie_display *display;
struct dect_ie_keypad *keypad;
struct dect_ie_feature_activate *feature_activate;
struct dect_ie_feature_indicate *feature_indicate;
struct dect_ie_list iwu_to_iwu;
struct dect_ie_escape_to_proprietary *escape_to_proprietary;
struct dect_ie_time_date *time_date;
struct dect_ie_events_notification *events_notification;
struct dect_ie_call_information *call_information;
};
struct dect_ciss_register_msg {
struct dect_msg_common common;
struct dect_ie_portable_identity *portable_identity;
struct dect_ie_list facility;
struct dect_ie_display *display;
struct dect_ie_keypad *keypad;
struct dect_ie_feature_activate *feature_activate;
struct dect_ie_feature_indicate *feature_indicate;
struct dect_ie_escape_to_proprietary *escape_to_proprietary;
};
/**
* struct dect_ss_endpoint - Supplementary Services Endpoint
*
* @transaction: LCE link transaction
* @priv: libdect user private storage
*/
struct dect_ss_endpoint {
struct dect_transaction transaction;
uint8_t priv[] __aligned(__alignof__(uint64_t));
};
extern void dect_clss_rcv(struct dect_handle *dh, struct dect_msg_buf *mb);
/**
* Call Related Supplementary Services messages types
*/
enum dect_crss_msg_types {
CRSS_HOLD = 0x24,
CRSS_HOLD_ACK = 0x28,
CRSS_HOLD_REJECT = 0x30,
CRSS_RETRIEVE = 0x31,
CRSS_RETRIEVE_ACK = 0x33,
CRSS_RETRIEVE_REJECT = 0x37,
CRSS_FACILITY = 0x62,
};
extern const struct dect_nwk_protocol dect_ciss_protocol;
#endif /* _LIBDECT_SS_H */
|