import PULS_20160108
[GitHub/mt8127/android_kernel_alcatel_ttab.git] / drivers / misc / mediatek / trustzone / tz_fileio.h
1 #ifndef DRIVER_FILE_PR_IO_H
2 #define DRIVER_FILE_PR_IO_H
3 #include <linux/fs.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
9 /** FILE_Open
10 * Open a file for read or write
11 *
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)
15 * @retval File handle
16 */
17 struct file *FILE_Open(const char *path, int flags, int mode);
18
19 /** FILE_Read
20 * Read data from a file.
21 *
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
28 */
29 int FILE_Read(struct file *file, unsigned char *data, unsigned int size, unsigned long long *offset);
30
31 /** FILE_Write
32 * Write data from a file.
33 *
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
40 */
41 int FILE_Write(struct file *file, unsigned char *data, unsigned int size, unsigned long long *offset);
42
43 /** FILE_ReadData
44 * Read data from a file.
45 *
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
52 */
53 int FILE_ReadData(const char *path, unsigned int u4Offset, char *pData, int i4Length);
54
55
56 /** FILE_WriteData
57 * Write data to a file.
58 *
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
65 */
66 int FILE_WriteData(const char *path, unsigned int u4Offset, char *pData, int i4Length);
67 #endif