이전 항목: IR API다음 항목: tcllca: LCA 확장


UTF8로 해석된 감사 레코드

CA ControlMinder 감사 레코드 필드를 설명하는 두 개의 문자열 필드를 포함합니다. SEOS_UTF8AUDLOGINTERP 구조를 포함하는 null 종결 목록 하나가 CA ControlMinder 감사 이벤트 레코드 하나를 나타냅니다.

typedef struct tagSeosUTF8LogInterpreted
{
	char *Label;		Label of an audit field in the record
	char *Value;		Value assigned in the audit record to the field
} SEOS_UTF8AUDLOGINTERP; 	Interpreted audit record

함수

int eacIRApi_LogInit(IRApiDataPosition *pos);

이 함수는 다음 작업을 수행합니다.

  1. CA ControlMinder 또는 PMD 설정에서 감사 파일 이름을 가져옵니다.
  2. 오프셋을 다시 설정하여 가장 오래된 로그 파일을 가져온 후 이 파일을 열어 감사 레코드를 읽습니다.
  3. eacIRApi_LogGetNext()를 호출하기 위해 IRApiDataPosition 포인터를 초기화합니다.
  4. IR API와 PMD의 동기화를 위해 스레드 및 이벤트를 초기화합니다.

가능한 반환 값은 다음과 같습니다.

의미

IR_EAC_SUCCESS

성공

IR_EAC_PART_FAIL

부분적 실패(감사 파일을 초기화하지 못함)

IR_EAC_GENERAL_FAIL

일반적 실패(IR API를 초기화해야 함)

*pos

(출력) IRApiDataPosition 구조에 대한 포인터입니다.

int eacIRApi_LogGetNext(IRApiDataPosition *pos, SEOS_UTF8AUDLOGINTERP **ppUtfMsg, int *log_type);

지정된 데이터 위치에 따라 다음 로드 레코드와 해당 유형을 반환합니다.

가능한 반환 값은 다음과 같습니다.

의미

IR_EAC_SUCCESS

성공

IR_EAC_NO_MORE_DATA

모든 감사 파일(PMD 및 localhost)에 더 이상 데이터가 없음

IR_EAC_DATA_LOST

데이터가 손실됨

IR_EAC_PSBLY_DATA_LOST

데이터가 손실되었을 수 있음

IR_EAC_GENERAL_FAIL

현재 감사 파일에서 실패

*pos

(입력) IRApiDataPosition에 대한 포인터로, 다음 로그 레코드를 가져올 위치(CA ControlMinder 또는 PMD 감사 파일과 오프셋)를 나타냅니다.

**ppUtfMsg

(출력) UTF8 문자열로 해석된 레코드에 대한 포인터입니다.

*log_type

(출력) 다음 로그 레코드 유형을 나타내는 정수에 대한 포인터입니다.

int eacIRApi_LogTerminate(void);

읽기 위해 연 모든 로그 파일을 닫고, 모든 스레드를 종료하고, 이벤트를 다시 설정합니다.

이 함수는 API 작업이 끝났을 때 호출합니다.

가능한 반환 값은 다음과 같습니다.

의미

IR_EAC_SUCCESS

성공

IR_EAC_PART_FAIL

부분적 실패(일부 감사 파일을 닫지 못함)

IR_EAC_GENERAL_FAIL

일반적 실패

int eacIRApi_LogReset(void *buff, int size);

지정된 데이터 위치에 따라 로그 파일(아직 있는 경우)을 엽니다. 이 함수는 저장된 이전 상태로 돌아가 해당 상태에서 작업을 계속할 수 있도록 합니다.

참고: 매개 변수 1(void *buff)을 사용하기 위한 데이터를 생성하려면 eacIRApi_CopyDataPosition 함수를 사용하십시오.

가능한 반환 값은 다음과 같습니다.

의미

IR_EAC_SUCCESS

성공

IR_EAC_PART_FAIL

하나 이상의 감사 파일을 초기화하지 못함

IR_EAC_GENERAL_FAIL

라이브러리를 종료해야 함

*buff

(입력) 새 데이터 위치를 다시 설정하는 데 필요한 데이터를 포함하는 버퍼에 대한 포인터입니다.

size

(입력) 데이터 크기를 나타내는 정수입니다.

void eacIRApi_LogFreeInterpretRecord(void);

이 함수는 마지막으로 해석된 레코드를 해제합니다.

이 함수에는 반환 값이 없습니다.

참고: eacIRApi_LogGetNext는 실행 시마다 동일한 내부 함수를 호출하므로 다음 로그 레코드에 대한 호출을 실행하기 전에 eacIRApi_LogFreeInterpretRecord를 사용할 필요가 없습니다.

char *eacIR_LogGetVersion(void);

CA ControlMinder 빌드 번호에 따라 API 버전을 문자열로 반환합니다.

반환 값은 문자열 형식의 버전 번호입니다.

int eacIRApi_CopyDataPosition(void **pos)

현재 감사 위치를 지정된 메모리 할당 위치에 복사합니다. 지정된 위치에 할당되어야 하는 메모리의 크기를 반환하려면 eacIRApi_GetDataPositionSize를 사용해야 합니다.

가능한 반환 값은 다음과 같습니다.

의미

IR_EAC_SUCCESS

성공

IR_EAC_GENERAL_FAIL

라이브러리를 종료해야 함

**pos

(출력) 복사된 데이터가 배치된 버퍼 포인터의 주소입니다.

size_t eacIRApi_GetDataPositionSize(void)

현재 데이터 위치를 복사하는 데 필요한 할당 메모리의 크기를 반환합니다.

int eacIRApi_GetLastError(SEOS_UTF8AUDLOGINTERP **pUtfMsg)

마지막 오류에 대한 설명을 반환합니다. 다른 함수가 IR_EAC_GENERAL_FAIL을 반환할 때마다 이 함수를 호출해야 합니다. 마지막 오류에 대한 설명은 SEOS_UTF8AUDLOGINTERP 구조의 배열에 할당됩니다. 이는 eacIRApi_LogGetNext 함수에서 감사 레코드가 할당되는 방식과 동일합니다.

가능한 반환 값은 다음과 같습니다.

의미

IR_EAC_SUCCESS

성공

IR_EAC_GENERAL_FAIL

라이브러리를 종료해야 함

**pUtfMsg

(출력) UTF8 문자열 형식의 마지막 오류 설명에 대한 포인터입니다.

int eacIRApi_ConvertOldData(void *oldbuff, size_t oldsize, void **newbuff, size_t *newsize)

IRecorder를 업그레이드한 경우, 더 이상 사용되지 않는 IR API를 사용하여 저장된 이전 데이터 위치를 새 IR API에 적합하게 변환합니다.

가능한 반환 값은 다음과 같습니다.

의미

IR_EAC_SUCCESS

성공

IR_EAC_GENERAL_FAIL

라이브러리를 종료해야 함

*oldbuff

(입력) 이전 버퍼에 대한 포인터입니다.

oldsize

(입력) 이전 버퍼의 크기입니다.

**newbuff

(출력) 새 버퍼에 대한 포인터입니다.

*newsize

(출력) 새 버퍼의 크기입니다.