FileIO API
본 장에서는 ProFrame를 이용하여 FileIO 모듈을 개발하는 데 필요한 API에 대해 설명한다.
1. API 목록
-
일반 API
파일을 열고 닫고 읽고 쓰는 등의 파일에 기본적인 조작을 위한 API이다.
API 설명 파일을 열어 fd를 가져온다.
열었던 파일을 닫는다.
파일의 내용을 읽어 온다.
특정 내용을 파일에 쓴다.
2. 일반 API
pfmFileIOOpen
파일 처리를 하기 전에 대상 파일을 여는 함수이다.
-
프로토타입
long pfmFileIOOpen( FILE **fd , char* path, char *fileName, char *mode )
-
파라미터
파라미터명 설명 fd
파일에 접근할 수 있는 Descriptor를 반환
path
Open할 파일 경로
fileName
Open할 파일명
mode
파일 취급 권한
-
FILE_READ : 읽기 모드
-
FILE_WRITE : 쓰기 모드
-
FILE_READ_WRITE : 읽기/쓰기 모드
-
FILE_WRITE_APPEND : 덧붙여 쓰기 모드
-
FILE_READ_WRITE_APPEND : 읽기/덧붙여 쓰기 모드
-
-
반환값
반환값 설명 RC_NRM
정상
-
예제
FILE *fd; PfmFileIOStruct pfmFileIOStruct = {"fioTEST01Data", 1, "F", 0, NULL, 0, NULL }; … pfmFileIORead(&fd, &fmwFileIOStruct); -
관련 API
pfmFileIOClose
pfmFileIOClose
열었던 파일을 닫는 함수이다.
-
프로토타입
long pfmFileIOClose( FILE **fd )
-
파라미터
파라미터명 설명 fd
Close할 Descriptor
-
반환값
반환값 설명 RC_NRM
정상
-
예제
FILE *fd; .. pfmFileIOClose( &fd );
-
관련 API
pfmFileIOOpen
pfmFileIORead
파일의 내용을 읽어 지정된 구조체에 파일의 내용을 담는 함수이다.
-
프로토타입
long pfmFileIORead( FILE **fd, PfmFileIOStruct *pfmFileIOStruct )
-
파라미터
파라미터명 설명 fd
pfmFileOpen에서 반환해 준 파일 Descriptor
pfmFileIOStruct
파일에서 읽은 구조체와 관련 정보
다음은 pfmFileIOStruct 구조체 정보에 대한 설명이다.
pfmFileIOStruct 설명 PfmFileIOStruct→structName
파일 내용을 담을 구조체명
PfmFileIOStruct→arrayCount
구조체 반복횟수
PfmFileIOStruct→convertType
파일 내용을 구조체로 변경할 때 모드
-
"F" : Fixed Length
-
"D" : Delimeter
-
"S" : Convert SKIP, Buffer
PfmFileIOStruct→resultCount
파일을 Fetch한 Row 개수
PfmFileIOStruct→structData
구조체 버퍼 포인터
PfmFileIOStruct→structSize
구조체 크기
PfmFileIOStruct→buf
파일 1 row당 버퍼
-
-
반환값
반환값 설명 RC_NRM
정상
-
예제
FILE *fd6; PfmFileIOStruct pfmFileIOStruct6; ... pfmFileIORead(&fd6, &fmwFileIOStruct6);
pfmFileIOWrite
marshal 등의 과정으로 생성된 전문의 메모리를 해제하는 함수이다. 모든 전문 타입에 사용할 수 있는 범용 API로 각 전문 타입에 맞는 별도의 함수가 정의되어 있다.
-
프로토타입
long pfmFileIOWrite( FILE **fd , PfmFileIOStruct *pfmFileIOStruct )
-
파라미터
파라미터명 설명 fd
쓰려는 파일의 Descriptor이다.
pfmFileIOStruct
파일에서 쓸 구조체와 관련 정보
다음은 pfmFileIOStruct 구조체 정보에 대한 설명이다.
pfmFileIOStruct 설명 PfmFileIOStruct→structName
파일에 쓸 내용을 담고 있는 구조체명
PfmFileIOStruct→arrayCount
구조체 반복 횟수
PfmFileIOStruct→convertType
구조체 내용을 1 Row로 변경할 때 모드
-
"F" : Fixed Length
-
"D" : Delimeter
-
"S" : Convert SKIP, Buffer
PfmFileIOStruct→resultCount
파일 쓰기에 성공한 Row 개수
PfmFileIOStruct→structData
파일에 쓸 구조체 데이터
PfmFileIOStruct→structSize
구조체 크기
PfmFileIOStruct→buf
convertType이 “S”인 경우 파일에 쓸 버퍼
-
-
반환값
반환값 설명 RC_NRM
정상
-
예제
FILE *fd; PfmFileIOStruct pfmFileIOStruct; .... pfmFileIOWrite(&fd, &pfmFileIOStruct);