Work on radio admin state ...
FossilOrigin-Name: dd3899fd9ec453e8722f0e927878ddef7b3e2aaca717b32866cedf07e1167f4e
This commit is contained in:
@ -4,6 +4,37 @@
|
||||
#include "log.h"
|
||||
#include "mbag.h"
|
||||
#include "capwap.h"
|
||||
#include "radio.h"
|
||||
|
||||
|
||||
int cw_radio_set_admin_state(mbag_t radios,int rid, int state, int cause)
|
||||
{
|
||||
mbag_t radio = mbag_get_mbag(radios,rid,NULL);
|
||||
if (!radio) {
|
||||
cw_dbg(DBG_ELEM_ERR,"Can't set radio administrative state for radio %d - radio does't exists",rid);
|
||||
return 0;
|
||||
}
|
||||
mbag_set_byte(radio,CW_RADIO_ADMIN_STATE,state);
|
||||
|
||||
if (cause < 0)
|
||||
return 1;
|
||||
|
||||
|
||||
/* Set operational state for next config update response. */
|
||||
|
||||
mbag_set_word(radio,CW_RADIO_OPER_STATE, (state<<8) | 3);
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
|
||||
int cw_in_radio_administrative_state(struct conn *conn, struct cw_action_in *a, uint8_t * data, int len,
|
||||
struct sockaddr *from)
|
||||
{
|
||||
int rid = cw_get_byte(data);
|
||||
int state = cw_get_byte(data+1);
|
||||
return cw_radio_set_admin_state(conn->radios,rid,state,-1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user