tz_fileio.h 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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 <linux/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. /** FILE_Read
  19. * Read data from a file.
  20. *
  21. * @param file Opened file handle
  22. * @param offset Pointer to begin offset to read.
  23. * @param data user's buffer address.
  24. * @param size readdata length in bytes.
  25. * @retval >0 SUCCESS, return actual bytes read.
  26. * @retval <0 Fail, errno
  27. */
  28. int FILE_Read(struct file *file, unsigned char *data, unsigned int size,
  29. unsigned long long *offset);
  30. /** FILE_Write
  31. * Write data from a file.
  32. *
  33. * @param file Opened file handle
  34. * @param offset Pointer to begin offset to Write.
  35. * @param data user's buffer address.
  36. * @param size Writedata length in bytes.
  37. * @retval >0 SUCCESS, return actual bytes Write.
  38. * @retval <0 Fail, errno
  39. */
  40. int FILE_Write(struct file *file, unsigned char *data, unsigned int size,
  41. unsigned long long *offset);
  42. /** FILE_ReadData
  43. * Read data from a file.
  44. *
  45. * @param path File path name to read.
  46. * @param u4Offset begin offset to read.
  47. * @param pData user's buffer address.
  48. * @param i4Length readdata length in bytes.
  49. * @retval >0 SUCCESS, return actual bytes read.
  50. * @retval <0 Fail, errno
  51. */
  52. int FILE_ReadData(const char *path, unsigned int u4Offset, char *pData,
  53. int i4Length);
  54. /** FILE_WriteData
  55. * Write data to a file.
  56. *
  57. * @param path File path name to write.
  58. * @param u4Offset begin offset to write.
  59. * @param pData user's buffer address.
  60. * @param i4Length writedata length in bytes.
  61. * @retval >0 SUCCESS, return actual bytes writen.
  62. * @retval <0 Fail, errno
  63. */
  64. int FILE_WriteData(const char *path, unsigned int u4Offset, char *pData,
  65. int i4Length);
  66. #endif