API를 사용하여 조작 수행

통합 파일 시스템 오브젝트에서 조작을 수행하는 API(Application Programming Interface)의 대부분은 C 언어 함수 형태입니다.

다음 두 세트의 함수 중 하나를 선택하여 ILE(Integrated Language Environment®) C를 사용하여 작성되는 프로그램에서 사용할 수 있습니다.

  • IBM® i 오퍼레이팅 시스템에 포함되어 있는 통합 파일 시스템 C 함수
  • ILE C 라이센스가 있는 프로그램에서 제공하는 C 함수

통합 파일 시스템을 지원하는 기존 프로그램에 대한 정보는 표 2의 내용을 참조하십시오.

통합 파일 시스템 기능은 통합 파일 시스템 스트림 I/O 지원을 통해서만 작동합니다. 다음 API가 지원됩니다.

표 1. 통합 파일 시스템 API
함수 설명
access() 파일 액세스 가능성 판별
accessx() 사용자 클래스에 대한 파일 액세스 가능성 판별
chdir() 현재 디렉토리 변경
chmod() 파일 권한 변경
chown() 파일 소유자 및 그룹 변경
close() 파일 설명자 닫기
closedir() 디렉토리 닫기
creat() 새로운 파일 작성 또는 기존 파일 다시쓰기
creat64() 새로운 파일 작성 또는 기존 파일 다시쓰기(대용량 파일 작동 가능)
DosSetFileLocks() 파일의 바이트 범위 잠그기 및 잠금 해제
DosSetFileLocks64() 파일의 바이트 범위 잠그기 및 잠금 해제(대용량 파일 작동 가능)
DosSetRelMaxFH() 파일 설명자의 최대 수 변경
dup() 열린 파일 설명자 복사
dup2() 다른 설명자로 열린 파일 설명자 복사
faccessx() 설명자를 사용한 사용자 클래스에 대한 파일 액세스 가능성 판별
fchdir() 설명자를 사용한 현재 디렉토리 변경
fchmod() 설명자를 사용한 파일 권한 변경
fchown() 설명자를 사용한 파일 소유자 및 그룹 변경
fclear() 파일 지우기
fclear64() 파일 지우기(대용량 파일 작동 가능)
fcntl() 파일 제어 조치 수행
fpathconf() 설명자를 사용한 구성 가능 경로명 변수 가져오기
fstat() 설명자를 사용한 파일 정보 가져오기
fstat64() 설명자를 사용한 파일 정보 가져오기(대용량 파일 작동 가능)
fstat64_time64() 설명자를 사용한 파일 정보 가져오기(대용량 파일 및 time64_t 작동 가능)
fstatvfs() 설명자를 사용한 정보 가져오기
fstatvfs64() 설명자를 사용한 정보 가져오기(64 비트 작동가능)
fsync() 파일에 대한 변경 동기화
ftruncate() 파일 절단
ftruncate64() 파일 절단(대용량 파일 작동가능)
getcwd() 현재 디렉토리의 경로명 가져오기
getegid() 유효한 그룹 ID 가져오기
geteuid() 유효한 사용자 ID 가져오기
getgid() 실제 그룹 ID 가져오기
getgrgid() 그룹 ID를 사용한 그룹 정보 가져오기
getgrgid_r() 그룹 ID를 사용하여 그룹 정보 가져오기(스레드세이프)
getgrgid_r_ts64() 그룹 ID를 사용하여 그룹 정보 가져오기(8바이트 포인터를 통한 스레드세이프)
getgrnam() 그룹명을 사용한 그룹 정보 가져오기
getgrnam_r() 그룹명을 사용하여 그룹 정보 가져오기(스레드세이프)
getgrnam_r_ts64() 그룹명을 사용하여 그룹 정보 가져오기(8바이트 포인터를 통한 스레드세이프)
getgroups() 그룹 ID 가져오기
getpwnam() 사용자명에 대한 사용자 정보 가져오기
getpwnam_r() 사용자명에 대한 사용자 정보 가져오기(스레드세이프)
getpwnam_r_ts64() 사용자명에 대한 사용자 정보 가져오기(8바이트 포인터를 통한 스레드세이프)
getpwuid() 사용자 ID에 대한 사용자 정보 가져오기
getpwuid_r() 사용자 ID에 대한 사용자 정보 가져오기(스레드세이프)
getpwuid_r_ts64() 사용자 ID에 대한 사용자 정보 가져오기(8바이트 포인터를 통한 스레드세이프)
getuid() 실제 사용자 ID 가져오기
givedescriptor() 다른 작업으로의 파일 액세스 부여
ioctl() 파일 I/O 제어 조치 수행
lchown 파일 소유자 및 그룹 또는 기호 링크 변경
link() 파일에 대한 링크 작성
lseek() 파일 읽기/쓰기 오프셋 설정
lseek64() 파일 읽기/쓰기 오프셋 설정(대용량 파일 작동가능)
lstat() 파일 또는 링크 정보 가져오기
lstat64() 파일 또는 링크 정보 가져오기(대용량 파일 작동가능)
lstat64_time64() 파일 또는 링크 정보 가져오기(대용량 파일 및 time64_t 작동가능)
mkdir() 디렉토리 작성
mkfifo() FIFO 특수 파일 작성
mmap() 메모리 맵 작성
mmap64() 메모리 맵 작성(대용량 파일 작동가능)
mprotect() 메모리 맵 보호 변경
msync() 메모리 맵 동기화
munmap() 메모리 맵 제거
open() 파일 열기
open64() 파일 열기(대용량 파일 작동가능)
opendir() 디렉토리 열기
pathconf() 구성가능 경로명 변수 가져오기
pipe() 프로세스간 채널 작성
pread() 오프셋을 사용하여 설명자에서 읽기
pread64() 오프셋을 사용하여 설명자에서 읽기(대용량 파일 사용)
pwrite() 오프셋을 사용하여 설명자에 쓰기
pwrite64() 오프셋을 사용하여 설명자에 쓰기(대용량 파일 사용)
QjoEndJournal() 저널링 종료
QjoRetrieveJournal Information() 저널 정보 검색
QjoRetrieveJournalEntries() 저널 항목 검색
QJORJIDI() 저널 ID 정보 검색
QJOSJRNE() 저널 항목 송신
QjoStartJournal() 저널링 시작
QlgAccess() 파일 액세스 가능성 판별(NLS 작동가능 경로명 사용)
QlgAccessx() 사용자 클래스에 대한 파일 액세스 가능성 판별(NLS 사용 가능 경로명 사용)
QlgChangeAuthority() (NLS 작동가능 경로명을 사용하여) 권한 변경
QlgChdir() 현재 디렉토리 변경(NLS 작동가능 경로명 사용)
QlgChmod() 파일 권한 변경(NLS 작동가능 경로명 사용)
QlgChown() 파일 소유자와 그룹을 변경(NLS 작동가능 경로명 사용)
QlgCreat() 신규 파일 작성 또는 기존 파일 다시쓰기(NLS 작동가능 경로명 사용)
QlgCreat64() 신규 파일 작성 또는 기존 파일 다시쓰기(대용량 파일 작동가능 및 NLS 작동가능 경로명 사용)
QlgCvtPathToQSYSObjName() 통합 파일 시스템 경로명을 QSYS 오브젝트명으로 분석(NLS 작동가능 경로명 사용)
QlgGetAttr() 오브젝트에 대한 시스템 속성 가져오기(NLS 작동가능 경로명 사용)
QlgGetcwd() 현재 디렉토리의 경로명 가져오기(NLS 작동가능 경로명 사용)
QlgGetPathFromFileID() 파일 ID로부터 오브젝트의 경로명 가져오기(NLS 작동가능 경로명 사용)
QlgGetpwnam() 사용자명에 대한 사용자 정보 가져오기(NLS 작동가능 경로명 사용)
QlgGetpwnam_r() 사용자명에 대한 사용자 정보 가져오기(NLS 작동가능 경로명 사용)
QlgGetpwuid() 사용자 ID에 대한 사용자 정보 가져오기(NLS 작동가능 경로명 사용)
QlgGetpwuid_r() 사용자 ID에 대한 사용자 정보 가져오기(NLS 작동가능 경로명 사용)
QlgLchown() 기호 링크 소유자와 그룹 변경(NLS 작동가능 경로명 사용)
QlgLink() 파일로의 링크 작성(NLS 작동가능 경로명 사용)
QlgLstat() 파일 또는 링크 정보 가져오기(NLS 작동가능 경로명 사용)
QlgLstat64() 파일 또는 링크 정보 가져오기(대용량 파일 작동가능 및 NLS 작동 가능 경로명 사용)
QlgLstat64_time64() 파일 또는 링크 정보 가져오기(대용량 파일, time64_t 작동 가능 및 NLS 작동 가능 경로명 사용)
QlgMkdir() 디렉토리 작성(NLS 작동가능 경로명 사용)
QlgMkfifo() FIFO 특수 파일 작성(NLS 작동가능 경로명 사용)
QlgOpen() 파일 열기(NLS 작동가능 경로명 사용)
QlgOpen64() 파일 열기(대용량 파일 작동가능 및 NLS 작동가능 경로명 사용)
QlgOpendir() 디렉토리 열기(NLS 작동가능 경로명 사용)
QlgPathconf() 구성가능 경로명 변수 가져오기(NLS 작동가능 경로명 사용)
QlgProcessSubtree() 디렉토리 트리에서 디렉토리 또는 오브젝트 처리(NLS 작동가능 경로명 사용)
QlgReaddir() 디렉토리 항목 읽기(NLS 작동가능 경로명 사용)
QlgReaddir_r() 디렉토리 항목 읽기(스레드세이프 및 NLS 작동가능 경로명 사용)
QlgReadlink() 기호 링크 값 읽기(NLS 작동가능 경로명 사용)
QlgRenameKeep() 파일 또는 디렉토리 이름 변경, 이미 있으면 신규 유지(NLS 작동가능 경로명 사용)
QlgRenameUnlink() 파일 또는 디렉토리 이름 변경, 이미 있으면 신규 링크 해제(NLS 작동가능 경로명 사용)
QlgRmdir() 디렉토리 제거(NLS 작동가능 경로명 사용)
QlgSaveStgFree() 오브젝트 데이터 저장 기억장치 비우기(NLS 작동가능 경로명 사용)
QlgSetAttr() 오브젝트에 대한 시스템 속성 설정(NLS 작동가능 경로명 사용)
QlgStat() 파일 정보 가져오기(NLS 작동가능 경로명 사용)
QlgStat64() 파일 정보 가져오기(대용량 파일 작동가능 및 NLS 작동가능 경로명 사용)
QlgStat64_time64() 파일 정보 가져오기(대용량 파일, time64_t 작동 가능 및 NLS 작동 가능 경로명 사용)
QlgStatvfs() 파일 시스템 정보 가져오기(NLS 작동가능 경로명 사용)
QlgStatvfs64() 파일 시스템 정보 가져오기(대용량 파일 작동가능 및 NLS 작동가능 경로명 사용)
QlgSymlink() 기호 링크 작성(NLS 작동가능 경로명 사용)
QlgUnlink() 파일 링크 해제(NLS 작동가능 경로명 사용)
QlgUtime() 파일 액세스 및 수정 시간 설정(NLS 작동가능 경로명 사용)
QlgUtime_time64() 파일 액세스 및 수정 시간 설정(time64_t 작동 가능 및 NLS 작동 가능 경로명 사용) Qp0lReaddir() 확장명을 포함하여 디렉토리 항목 읽기
QP0FPTOS() 기타 파일 시스템 기능 수행
QP0LCHSG() 스캔 서명 변경
Qp0lCvtPathToSYSObjName() 통합 파일 시스템 경로명을 QSYS 오브젝트명으로 분석
QP0LFLOP() 오브젝트에 대한 기타 조작 수행
Qp0lGetAttr() 오브젝트에 대한 시스템 속성 가져오기
Qp0lGetPathFromFileID() 파일 ID로부터 오브젝트의 경로명 가져오기
Qp0lOpen() NLS 작동가능 경로명이 있는 파일 열기
Qp0lProcessSubtree() 디렉토리 트리 내에서 디렉토리나 오브젝트 처리
Qp0lReaddir() 확장명을 포함하여 디렉토리 항목 읽기
Qp0lRenameKeep() 파일 또는 디렉토리를 이름 변경하고, 이미 있으면 신규 유지
Qp0lRenameUnlink() 파일 또는 디렉토리 이름 변경, 이미 있으면 신규 링크 해제
QP0LROR() 오브젝트 참조 검색
QP0LRRO() 참조된 오브젝트 검색
QP0LRTSG() 스캔 서명 검색
Qp0lSaveStgFree() 오브젝트 데이터 저장 및 기억장치 비우기
Qp0lSetAttr() 오브젝트에 대한 시스템 속성 설정
Qp0lUnlink() NLS 작동가능 경로명이 있는 파일 링크 해제
Qp0zPipe() 소켓을 사용한 프로세스간 채널 작성
qsysetegid() 유효한 그룹 ID 설정
qsysetgroups() 보충 그룹 ID 설정
qsyseteuid() 유효한 사용자 ID 설정
qsysetgid() 그룹 ID 설정
qsysetregid() 실질적이고 효율적인 그룹 ID 설정
qsysetreuid() 실질적이고 효율적인 사용자 ID 설정
qsysetuid() 사용자 ID 설정
QZipUnzip() 파일 및 디렉토리 압축 풀기
QzipZip() 파일 및 디렉토리 압축
QZNFNFSO() NFS 옵션 수행
QZNFRTVE() NFS 내보내기 정보 검색
read() 파일에서 읽기
readdir() 디렉토리 항목 읽기
readdir_r() 디렉토리 항목 읽기(스레드세이프)
readdir_r_ts64() 디렉토리 항목(8바이트 포인터를 통한 스레드세이프)
readlink() 기호 링크 값 읽기
readv() 파일에서 읽기(벡터)
rename() 파일 또는 디렉토리 이름 변경. Qp0lRenameKeep() 또는 Qp0lRenameUnlink()의 의미를 정의할 수 있음.
rewinddir() 디렉토리 스트림 재설정
rmdir() 디렉토리 제거
select() 복수 파일 설명자의 I/O 상태 검사
stat() 파일 정보 가져오기
stat64() 파일 정보 가져오기(대용량 파일 작동가능)
stat64_time64() 파일 정보 가져오기(대용량 파일 및 time64_t 작동 가능)
statvfs() 파일 시스템 정보 가져오기
statvfs64() 파일 시스템 정보 가져오기(대용량 파일 작동가능)
symlink() 기호 링크 작성
sysconf() 시스템 구성 변수 가져오기
takedescriptor() 다른 작업에서 파일 액세스 가져오기
umask() 작업에 대한 권한 마스크 설정
unlink() 파일에 대한 링크 제거
utime() 파일 액세스 및 수정 횟수 설정
utime_time64() 파일 액세스 및 수정 횟수(time64_t 작동 가능)
write() 파일 기록
writev() 파일 기록(벡터)
참고: 일부 함수는 IBM i 소켓에 대해서도 사용됩니다.
표 2. 통합 파일 시스템 종료 프로그램
함수 설명
종료 프로그램 닫기에서 통합 파일 시스템 스캔 close() API와 같은 닫기 처리 중 호출됨. 이 종료 프로그램은 사용자에 의해 제공되어야 합니다.
종료 프로그램 열기에서 통합 파일 시스템 스캔 open() API와 같은 열기 처리 중 호출됨. 이 종료 프로그램은 사용자에 의해 제공되어야 합니다.
경로명 처리 호출자 선택 기준에 일치하는 API의 검색에 있는 각 오브젝트를 위한 Qp0lProcessSubtree() API에 의해 호출됨. 이 종료 프로그램은 사용자에 의해 제공되어야 합니다.
사용 가능한 저장 기억장치 *STMF 오브젝트 유형을 저장하기 위해 Qp0lSaveStgFree() API에 의해 호출됨. 이 종료 프로그램은 사용자에 의해 제공되어야 합니다.