source: libcf/trunk/include/cf_file.h@ 35

Last change on this file since 35 was 35, checked in by cheese, 11 years ago

#1 separate example code and doxygen comment and fix logging push logic by vfire

File size: 1.5 KB
Line 
1/**
2 * @file cf_file.h
3 * @author myusgun <myusgun@gmail.com>
4 * @version 0.1
5 *
6 * @example file.c
7 */
8#ifndef __CF_FILE_H__
9#define __CF_FILE_H__
10
11#include "cf_base.h"
12#include <fcntl.h>
13
14#define CF_ERROR_FILE_OPEN CF_ERROR_FILE - 1
15#define CF_ERROR_FILE_INVALID_ARGS CF_ERROR_FILE - 2
16#define CF_ERROR_FILE_READ CF_ERROR_FILE - 3
17#define CF_ERROR_FILE_WRITE CF_ERROR_FILE - 4
18#define CF_ERROR_FILE_CREATE CF_ERROR_FILE - 5
19#define CF_ERROR_FILE_CLOSE CF_ERROR_FILE - 6
20#define CF_ERROR_FILE_GET_SIZE CF_ERROR_FILE - 7
21
22/** 파일 열기 옵션 플래그 */
23typedef enum {
24 CF_FILE_RO = O_RDONLY, /**< 읽기 전용 */
25 CF_FILE_WO = O_WRONLY, /**< 쓰기 전용 */
26 CF_FILE_WR = O_RDWR, /**< 읽기/쓰기 */
27 CF_FILE_CR = O_CREAT, /**< 파일이 존재하지 않으면 생성 */
28 CF_FILE_TR = O_TRUNC, /**< 파일이 존재하면 비우기 */
29 CF_FILE_AP = O_APPEND /**< 파일이 존재하면 이어서 쓰기 */
30} E_CF_FILE_FLAG, CF_FILE_FLAG;
31
32#ifdef __cplusplus
33extern "C" {
34#endif
35
36CF_EXPORT int
37CF_File_Open (const char * path,
38 const CF_FILE_FLAG flag);
39
40CF_EXPORT int
41CF_File_Create (const char * path);
42
43CF_EXPORT int
44CF_File_Close (const int fd);
45
46CF_EXPORT int
47CF_File_Read (const int fd,
48 void * buf,
49 const size_t len);
50
51CF_EXPORT int
52CF_File_Write (const int fd,
53 const void * buf,
54 const size_t len);
55
56CF_EXPORT int
57CF_File_GetSize (const int fd);
58
59#ifdef __cplusplus
60}
61#endif
62
63#endif // #ifndef __CF_FILE_H__
Note: See TracBrowser for help on using the repository browser.