@@ -23,8 +23,44 @@ struct mcps_data_ind_s;
23
23
struct mcps_data_ie_list ;
24
24
struct channel_list_s ;
25
25
struct ws_pan_information_s ;
26
+ struct mlme_security_s ;
26
27
27
28
29
+ /**
30
+ * @brief wh_ie_sub_list_t ws asynch header IE elemnt request list
31
+ */
32
+ typedef struct wh_ie_sub_list_s {
33
+ bool utt_ie :1 ; /**< Unicast Timing and Frame type information */
34
+ bool bt_ie :1 ; /**< Broadcast timing information */
35
+ bool fc_ie :1 ; /**< Flow Control for Extended Direct Frame Exchange */
36
+ bool rsl_ie :1 ; /**< Received Signal Level information */
37
+ bool vh_ie :1 ; /**< Vendor header information */
38
+ } wh_ie_sub_list_t ;
39
+
40
+ /**
41
+ * @brief wp_nested_ie_sub_list_t ws asynch Nested Payload sub IE element request list
42
+ */
43
+ typedef struct wp_nested_ie_sub_list_s {
44
+ bool us_ie :1 ; /**< Unicast Schedule information */
45
+ bool bs_ie :1 ; /**< Broadcast Schedule information */
46
+ bool vp_ie :1 ; /**< Vendor Payload information */
47
+ bool pan_ie :1 ; /**< PAN Information */
48
+ bool net_name_ie :1 ; /**< Network Name information */
49
+ bool pan_version_ie :1 ; /**< Pan configuration version */
50
+ bool gtkhash_ie :1 ; /**< GTK Hash information */
51
+ } wp_nested_ie_sub_list_t ;
52
+
53
+ /**
54
+ * @brief asynch_request_t Asynch message request parameters
55
+ */
56
+ typedef struct asynch_request_s {
57
+ unsigned message_type :3 ; /**< Asynch message type: WS_FT_PAN_ADVERT, WS_FT_PAN_ADVERT_SOL, WS_FT_PAN_CONF or WS_FT_PAN_CONF_SOL. */
58
+ wh_ie_sub_list_t wh_requested_ie_list ; /**< WH-IE header list to message. */
59
+ wp_nested_ie_sub_list_t wp_requested_nested_ie_list ; /**< WP-IE Nested IE list to message. */
60
+ struct mlme_security_s security ; /**< Request MAC security paramaters */
61
+ struct channel_list_s channel_list ; /**< Channel List. */
62
+ } asynch_request_t ;
63
+
28
64
/**
29
65
* @brief ws_asynch_ind ws asynch data indication
30
66
* @param interface Interface pointer
@@ -61,44 +97,60 @@ void ws_llc_reset(struct protocol_interface_info_entry *interface);
61
97
/**
62
98
* @brief ws_llc_asynch_request ws asynch message request to all giving channels
63
99
* @param interface Interface pointer
64
- * @param asynch_message Asynch message type: WS_FT_PAN_ADVERT, WS_FT_PAN_ADVERT_SOL, WS_FT_PAN_CONF or WS_FT_PAN_CONF_SOL
65
- * @param channel_list Channel list where message is pushed
100
+ * @param request Asynch message parameters: type, IE and channel list
66
101
*
67
102
* @return 0 Asynch message pushed to MAC
68
103
* @return -1 memory allocate problem
69
104
* @return -2 Parameter problem
70
- * LLC allocate message spesific IE element itself how it is configured
71
105
*
72
106
*/
73
- int8_t ws_llc_asynch_request (struct protocol_interface_info_entry * interface , uint8_t asynch_message , struct channel_list_s channel_list );
107
+ int8_t ws_llc_asynch_request (struct protocol_interface_info_entry * interface , asynch_request_t * request );
74
108
75
109
76
110
/**
77
111
* @brief ws_llc_set_vendor_header_data Configure WS vendor Header data information (Data of WH_IE_VH_TYPE IE element)
78
112
* @param interface Interface pointer
79
- * @param vendor_header_length configured vendor header length
80
113
* @param vendor_header pointer to vendor header this pointer must keep alive when it is configured to LLC
114
+ * @param vendor_header_length configured vendor header length
81
115
*
82
116
*/
83
- void ws_llc_set_vendor_header_data (struct protocol_interface_info_entry * interface , uint8_t vendor_header_length , uint8_t * vendor_header );
117
+ void ws_llc_set_vendor_header_data (struct protocol_interface_info_entry * interface , uint8_t * vendor_header , uint8_t vendor_header_length );
84
118
85
119
/**
86
120
* @brief ws_llc_set_vendor_payload_data Configure WS vendor payload data information (Data of WP_PAYLOAD_IE_VP_TYPE IE element)
87
121
* @param interface Interface pointer
88
- * @param vendor_payload_length configured vendor payload length
89
122
* @param vendor_payload pointer to vendor payload this pointer must keep alive when it is configured to LLC
123
+ * @param vendor_payload_length configured vendor payload length
90
124
*
91
125
*/
92
- void ws_llc_set_vendor_payload_data (struct protocol_interface_info_entry * interface , uint8_t vendor_payload_length , uint8_t * vendor_payload );
126
+ void ws_llc_set_vendor_payload_data (struct protocol_interface_info_entry * interface , uint8_t * vendor_payload , uint8_t vendor_payload_length );
93
127
94
128
/**
95
129
* @brief ws_llc_set_network_name Configure WS Network name (Data of WP_PAYLOAD_IE_NETNAME_TYPE IE element)
96
130
* @param interface Interface pointer
97
131
* @param name_length configured network name length
98
- * @param net_name pointer to network name this pointer must keep alive when it is configured to LLC
132
+ * @param name pointer to network name this pointer must keep alive when it is configured to LLC
99
133
*
100
134
*/
101
- void ws_llc_set_network_name (struct protocol_interface_info_entry * interface , uint8_t name_length , uint8_t * net_name );
135
+ void ws_llc_set_network_name (struct protocol_interface_info_entry * interface , uint8_t * name , uint8_t name_length );
136
+
137
+ /**
138
+ * @brief ws_llc_set_broadcast_secudule_info data for braodcast schedule WP_PAYLOAD_IE_BS_TYPE
139
+ * @param interface Interface pointer
140
+ * @param schedule_info pointer to Configured shedule data
141
+ * @param length configured broadcast schedule length
142
+ *
143
+ */
144
+ void ws_llc_set_broadcast_schecudule_info (struct protocol_interface_info_entry * interface , uint16_t length , uint8_t * schedule_info );
145
+
146
+ /**
147
+ * @brief @brief ws_llc_set_unitcast_secudule_info data for braodcast schedule WP_PAYLOAD_IE_US_TYPE
148
+ * @param interface Interface pointer
149
+ * @param schedule_info pointer to Configured shedule data
150
+ * @param length configured unicast schedule length
151
+ *
152
+ */
153
+ void ws_llc_set_unitcast_schecudule_info (struct protocol_interface_info_entry * interface , uint8_t * schedule_info , uint16_t length );
102
154
103
155
/**
104
156
* @brief ws_llc_set_gtkhash Configure WS GTK hash information (Data of WP_PAYLOAD_IE_GTKHASH_TYPE IE element)
@@ -117,4 +169,6 @@ void ws_llc_set_gtkhash(struct protocol_interface_info_entry *interface, uint8_
117
169
void ws_llc_set_pan_information_pointer (struct protocol_interface_info_entry * interface , struct ws_pan_information_s * pan_information_pointer );
118
170
119
171
172
+
173
+
120
174
#endif /* WS_LLC_H_ */
0 commit comments