8937ded1d3
The director has the opportunity to change the configuration of AC in join connection. The virtual interfaces which encapsulate the wifi stations is managed dynamically by the Director. The AC must request authorization from Director for associate a station.
46 lines
790 B
C
46 lines
790 B
C
#include "capwap.h"
|
|
#include "capwap_rwlock.h"
|
|
|
|
#ifndef CAPWAP_MULTITHREADING_ENABLE
|
|
#error "Warning: multithreading is disabled\n"
|
|
#endif
|
|
|
|
/* */
|
|
int capwap_rwlock_init(capwap_rwlock_t* lock) {
|
|
ASSERT(lock != NULL);
|
|
|
|
if (pthread_rwlock_init(&lock->rwlock, NULL)) {
|
|
return 0;
|
|
}
|
|
|
|
return 1;
|
|
}
|
|
|
|
/* */
|
|
void capwap_rwlock_destroy(capwap_rwlock_t* lock) {
|
|
ASSERT(lock != NULL);
|
|
|
|
pthread_rwlock_destroy(&lock->rwlock);
|
|
}
|
|
|
|
/* */
|
|
void capwap_rwlock_rdlock(capwap_rwlock_t* lock) {
|
|
ASSERT(lock != NULL);
|
|
|
|
pthread_rwlock_rdlock(&lock->rwlock);
|
|
}
|
|
|
|
/* */
|
|
void capwap_rwlock_wrlock(capwap_rwlock_t* lock) {
|
|
ASSERT(lock != NULL);
|
|
|
|
pthread_rwlock_wrlock(&lock->rwlock);
|
|
}
|
|
|
|
/* */
|
|
void capwap_rwlock_unlock(capwap_rwlock_t* lock) {
|
|
ASSERT(lock != NULL);
|
|
|
|
pthread_rwlock_unlock(&lock->rwlock);
|
|
}
|