1*03f9172cSAndroid Build Coastguard Worker /* 2*03f9172cSAndroid Build Coastguard Worker * hostapd / VLAN definition 3*03f9172cSAndroid Build Coastguard Worker * Copyright (c) 2016, Jouni Malinen <[email protected]> 4*03f9172cSAndroid Build Coastguard Worker * 5*03f9172cSAndroid Build Coastguard Worker * This software may be distributed under the terms of the BSD license. 6*03f9172cSAndroid Build Coastguard Worker * See README for more details. 7*03f9172cSAndroid Build Coastguard Worker */ 8*03f9172cSAndroid Build Coastguard Worker 9*03f9172cSAndroid Build Coastguard Worker #include "utils/includes.h" 10*03f9172cSAndroid Build Coastguard Worker 11*03f9172cSAndroid Build Coastguard Worker #include "utils/common.h" 12*03f9172cSAndroid Build Coastguard Worker #include "ap/vlan.h" 13*03f9172cSAndroid Build Coastguard Worker 14*03f9172cSAndroid Build Coastguard Worker /* compare the two arguments, NULL is treated as empty 15*03f9172cSAndroid Build Coastguard Worker * return zero iff they are equal 16*03f9172cSAndroid Build Coastguard Worker */ vlan_compare(struct vlan_description * a,struct vlan_description * b)17*03f9172cSAndroid Build Coastguard Workerint vlan_compare(struct vlan_description *a, struct vlan_description *b) 18*03f9172cSAndroid Build Coastguard Worker { 19*03f9172cSAndroid Build Coastguard Worker int i; 20*03f9172cSAndroid Build Coastguard Worker const int a_empty = !a || !a->notempty; 21*03f9172cSAndroid Build Coastguard Worker const int b_empty = !b || !b->notempty; 22*03f9172cSAndroid Build Coastguard Worker 23*03f9172cSAndroid Build Coastguard Worker if (a_empty && b_empty) 24*03f9172cSAndroid Build Coastguard Worker return 0; 25*03f9172cSAndroid Build Coastguard Worker if (a_empty || b_empty) 26*03f9172cSAndroid Build Coastguard Worker return 1; 27*03f9172cSAndroid Build Coastguard Worker if (a->untagged != b->untagged) 28*03f9172cSAndroid Build Coastguard Worker return 1; 29*03f9172cSAndroid Build Coastguard Worker for (i = 0; i < MAX_NUM_TAGGED_VLAN; i++) { 30*03f9172cSAndroid Build Coastguard Worker if (a->tagged[i] != b->tagged[i]) 31*03f9172cSAndroid Build Coastguard Worker return 1; 32*03f9172cSAndroid Build Coastguard Worker } 33*03f9172cSAndroid Build Coastguard Worker return 0; 34*03f9172cSAndroid Build Coastguard Worker } 35