1 #ifndef DRIVER_FILE_PR_IO_H
2 #define DRIVER_FILE_PR_IO_H
4 #include <asm/segment.h>
5 #include <asm/uaccess.h>
6 #include <linux/buffer_head.h>
7 #define UINT64 unsigned long long
8 #define INT64 long long
10 * Open a file for read or write
12 * @param path File path to open
13 * @param flags Access flag see open(2)
14 * @param mode The mode/permission for created file, see open(2)
17 struct file
*FILE_Open(const char *path
, int flags
, int mode
);
20 * Read data from a file.
22 * @param file Opened file handle
23 * @param offset Pointer to begin offset to read.
24 * @param data user's buffer address.
25 * @param size readdata length in bytes.
26 * @retval >0 SUCCESS, return actual bytes read.
27 * @retval <0 Fail, errno
29 int FILE_Read(struct file
*file
, unsigned char *data
, unsigned int size
, unsigned long long *offset
);
32 * Write data from a file.
34 * @param file Opened file handle
35 * @param offset Pointer to begin offset to Write.
36 * @param data user's buffer address.
37 * @param size Writedata length in bytes.
38 * @retval >0 SUCCESS, return actual bytes Write.
39 * @retval <0 Fail, errno
41 int FILE_Write(struct file
*file
, unsigned char *data
, unsigned int size
, unsigned long long *offset
);
44 * Read data from a file.
46 * @param path File path name to read.
47 * @param u4Offset begin offset to read.
48 * @param pData user's buffer address.
49 * @param i4Length readdata length in bytes.
50 * @retval >0 SUCCESS, return actual bytes read.
51 * @retval <0 Fail, errno
53 int FILE_ReadData(const char *path
, unsigned int u4Offset
, char *pData
, int i4Length
);
57 * Write data to a file.
59 * @param path File path name to write.
60 * @param u4Offset begin offset to write.
61 * @param pData user's buffer address.
62 * @param i4Length writedata length in bytes.
63 * @retval >0 SUCCESS, return actual bytes writen.
64 * @retval <0 Fail, errno
66 int FILE_WriteData(const char *path
, unsigned int u4Offset
, char *pData
, int i4Length
);