123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164 |
- #ifndef APSGROUPS_H
- #define APSGROUPS_H
- #ifdef __cplusplus
- extern "C" {
- #endif
- #include "ZComDef.h"
- #define aps_GroupsRemaingCapacity() ( APS_MAX_GROUPS - aps_CountAllGroups() )
-
- #define APS_GROUPS_FIND_FIRST 0xFE
- #define APS_GROUPS_EP_NOT_FOUND 0xFE
- #define APS_GROUP_NAME_LEN 16
-
- typedef struct
- {
- uint16 ID;
- uint8 name[APS_GROUP_NAME_LEN];
- } aps_Group_t;
- typedef struct apsGroupItem
- {
- struct apsGroupItem *next;
- uint8 endpoint;
- aps_Group_t group;
- } apsGroupItem_t;
- extern apsGroupItem_t *apsGroupTable;
- extern ZStatus_t aps_AddGroup( uint8 endpoint, aps_Group_t *group );
- extern aps_Group_t *aps_FindGroup( uint8 endpoint, uint16 groupID );
- extern uint8 aps_FindGroupForEndpoint( uint16 groupID, uint8 lastEP );
- extern uint8 aps_FindAllGroupsForEndpoint( uint8 endpoint, uint16 *groupList );
- extern uint8 aps_RemoveGroup( uint8 endpoint, uint16 groupID );
- extern void aps_RemoveAllGroup( uint8 endpoint );
- extern uint8 aps_CountGroups( uint8 endpoint );
- extern uint8 aps_CountAllGroups( void );
- extern uint8 aps_GroupsInitNV( void );
- extern void aps_GroupsSetDefaultNV( void );
- extern void aps_GroupsWriteNV( void );
- extern uint16 aps_GroupsRestoreFromNV( void );
- #ifdef __cplusplus
- }
- #endif
- #endif
|