Access Control API
출입 통제를 관리하기 위한 API로 개인별, 그룹별, 타임스케줄 관리를 통해 출입시간 제한 및 관리할 수 있습니다.
BS2_GetAccessGroup
주어진 출입 그룹을 가져옵니다.
BS2_GetAllAccessGroup
모든 출입 그룹을 가져옵니다.
BS2_SetAccessGroup
출입 그룹을 설정합니다.
BS2_RemoveAccessGroup
주어진 출입 그룹을 제거합니다.
BS2_RemoveAllAccessGroup
모든 출입 그룹을 제거합니다.
BS2_GetAccessLevel
주어진 출입 레벨을 가져옵니다.
BS2_GetAllAccessLevel
모든 출입 레벨을 가져옵니다.
BS2_SetAccessLevel
출입 레벨을 설정합니다.
BS2_RemoveAccessLevel
주어진 출입 레벨을 제거합니다.
BS2_RemoveAllAccessLevel
모든 출입 레벨을 제거합니다.
BS2_GetAccessSchedule
주어진 타임 스케줄을 가져옵니다.
BS2_GetAllAccessSchedule
모든 타임 스케줄을 가져옵니다.
BS2_SetAccessSchedule
타임 스케줄을 설정합니다.
BS2_RemoveAccessSchedule
주어진 타임 스케줄을 제거합니다.
BS2_RemoveAllAccessSchedule
모든 타임 스케줄을 제거합니다.
BS2_GetHolidayGroup
주어진 휴일 그룹을 가져옵니다.
BS2_GetAllHolidayGroup
모든 휴일 그룹을 가져옵니다.
BS2_SetHolidayGroup
휴일 그룹을 설정합니다.
BS2_RemoveHolidayGroup
주어진 휴일 그룹을 제거합니다.
BS2_RemoveAllHolidayGroup
모든 휴일 그룹을 제거합니다.
구조체
BS2AccessGroup
typedef struct {
uint32_t id;
char name[BS2_MAX_ACCESS_GROUP_NAME_LEN];
uint8_t numAccessLevels;
uint8_t reserved[3];
uint32_t accessLevels[BS2_MAX_ACCESS_LEVEL_PER_ACCESS_GROUP];
} BS2AccessGroup;
-
id출입 그룹 식별자입니다.
-
nameBioStar 애플리케이션에서 보이는 출입 그룹 이름입니다.
-
numAccessLevels출입 그룹에 속한 출입 레벨의 개수입니다.
-
reserved예약된 공간입니다.
-
accessLevels출입 그룹에 속한 출입 레벨 리스트입니다.
BS2DoorSchedule
typedef struct {
uint32_t doorID;
uint32_t scheduleID;
} BS2DoorSchedule ;
-
doorID출입문 식별자입니다.
-
scheduleID타임 스케줄 식별자입니다.
BS2AccessLevel
typedef struct {
uint32_t id;
char name[BS2_MAX_ACCESS_GROUP_NAME_LEN];
uint8_t numDoorSchedules;
uint8_t reserved[3];
BS2DoorSchedule doorSchedules[BS2_MAX_ACCESS_LEVEL_PER_ACCESS_GROUP];
} BS2AccessLevel;
-
id출입 레벨 식별자입니다.
-
nameBioStar 애플리케이션에서 보이는 출입 레벨 이름입니다.
-
numDoorSchedules출입 레벨에 속한 출입문 타임 스케줄 개수입니다.
-
reserved예약된 공간입니다.
-
doorSchedules출입 레벨에 속한 출입문 타임 스케줄 리스트입니다.
BS2TimePeriod
typedef struct {
int16_t startTime;
int16_t endTime;
} BS2TimePeriod;
-
startTime시분할 스케줄의 시작할 시간이며, 분 단위의 값을 가집니다.
-
endTime시분할 스케줄의 끝나는 시간이며, 분 단위의 값을 가집니다.
BS2DaySchedule
typedef struct {
uint8_t numPeriods;
uint8_t reserved[3];
BS2TimePeriod periods[BS2_MAX_TIME_PERIODS_PER_DAY];
} BS2DaySchedule;
-
numPeriods시분할 스케줄의 개수입니다.
-
reserved예약된 공간입니다.
-
periods시분할 스케줄 리스트로 최대 5개까지 지정할 수 있습니다.
BS2WeeklySchedule
typedef struct {
BS2DaySchedule schedule[BS2_NUM_WEEKDAYS];
} BS2WeeklySchedule;
-
schedule주간 스케줄로 총 7일의 일간 스케줄을 가집니다.
BS2DailySchedule
typedef struct {
uint32_t startDate;
uint8_t numDays;
uint8_t reserved[3];
BS2DaySchedule schedule[BS2_MAX_DAYS_PER_DAILY_SCHEDULE];
} BS2DailySchedule;
-
startDate스케줄이 시작할 시간입니다.
-
numDays총 일간 스케줄의 개수입니다.
-
reserved예약된 공간입니다.
-
schedulestartDate부터 시작되는 일간 스케줄 리스트입니다.
BS2HolidaySchedule
typedef struct {
uint32_t id;
BS2DaySchedule schedule;
} BS2HolidaySchedule;
-
startDate휴일 그룹 스케줄 식별자입니다.
-
schedule휴일 일간 스케줄입니다.
BS2Schedule
typedef struct
{
uint32_t id;
char name[BS2_MAX_SCHEDULE_NAME_LEN];
uint8_t isDaily;
uint8_t numHolidaySchedules;
uint8_t reserved[2];
union
{
BS2WeeklySchedule weekly;
BS2DailySchedule daily;
}schedule;
BS2HolidaySchedule holidaySchedules[BS2_MAX_HOLIDAY_GROUPS_PER_SCHEDULE];
}BS2Schedule;
-
id타임 스케줄 식별자입니다.
주의스케줄 식별자 중 0과 1은 사전 정의된 값으로, 0은 시간할당 안 함, 1은 항시의 의미를 가지는 식별자이며, 사용자가 임의로 변경할 수 없습니다.
-
nameBioStar 애플리케이션에 보이는 타임 스케줄 이름입니다.
-
isDaily일간 스케줄인지 주간 스케줄인지 구분하는 flag입니다.
-
numHolidaySchedules휴일 스케줄 개수입니다.
-
reserved예약된 공간입니다.
-
weekly주간 스케줄로 isDaily가 0의 값을 가질 때 의미가 있습니다.
-
daily일간 스케줄로 isDaily가 0이 아닌 값을 가질 때 의미가 있습니다.
-
holidaySchedules휴일 스케줄 리스트입니다.
BS2Holiday
typedef struct {
uint32_t date;
uint8_t recurrence;
} BS2Holiday;
-
date휴일 날짜입니다.
-
recurrence주기적으로 반복되는 값입니다.
값 설명 0 반복 없음 1 매년 반복 2 매월 반복 3 매주 반복
BS2HolidayGroup
typedef struct
{
uint32_t id;
char name[BS2_MAX_SCHEDULE_NAME_LEN];
uint8_t numHolidays;
uint8_t reserved[3];
BS2Holiday holidays[BS2_MAX_HOLIDAYS_PER_GROUP];
}BS2HolidayGroup;
-
id휴일 그룹 식별자입니다.
-
nameBioStar 애플리케이션에 보이는 휴일 그룹 이름입니다.
-
numHolidays휴일 개수입니다.
-
reserved예약된 공간입니다.
-
holidays휴일 리스트입니다.