FileIO API

본 장에서는 ProFrame를 이용하여 FileIO 모듈을 개발하는 데 필요한 API에 대해 설명한다.

1. API 목록

  • 일반 API

    파일을 열고 닫고 읽고 쓰는 등의 파일에 기본적인 조작을 위한 API이다.

    API 설명

    pfmFileIOOpen

    파일을 열어 fd를 가져온다.

    pfmFileIOClose

    열었던 파일을 닫는다.

    pfmFileIORead

    파일의 내용을 읽어 온다.

    pfmFileIOWrite

    특정 내용을 파일에 쓴다.

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);