1 /* 2 * Copyright (c) 2018-2019 The Linux Foundation. All rights reserved. 3 * 4 * Permission to use, copy, modify, and/or distribute this software for 5 * any purpose with or without fee is hereby granted, provided that the 6 * above copyright notice and this permission notice appear in all 7 * copies. 8 * 9 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 10 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 11 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 12 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 13 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 14 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 15 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 16 * PERFORMANCE OF THIS SOFTWARE. 17 */ 18 19 /** 20 * DOC: qdf_vfs 21 * QCA driver framework (QDF) virtual filesystem management APIs 22 */ 23 24 #if !defined(__QDF_VFS_H) 25 #define __QDF_VFS_H 26 27 /* Include Files */ 28 #include <qdf_types.h> 29 30 struct qdf_vfs_attr; 31 struct qdf_vf_bin_attr; 32 struct qdf_dev_obj; 33 34 #ifdef ENHANCED_OS_ABSTRACTION 35 /** 36 * qdf_vfs_set_file_attributes() - set file attributes 37 * @devobj: Device object 38 * @attr: File attribute 39 * 40 * This function will set the attributes of a file 41 * 42 * Return: QDF_STATUS_SUCCESS on success 43 */ 44 QDF_STATUS 45 qdf_vfs_set_file_attributes(struct qdf_dev_obj *devobj, 46 struct qdf_vfs_attr *attr); 47 48 /** 49 * qdf_vfs_clear_file_attributes() - clear file attributes 50 * @devobj: Device object 51 * @attr: File attribute 52 * 53 * This function will clear the attributes of a file 54 * 55 * Return: QDF_STATUS_SUCCESS on success 56 */ 57 QDF_STATUS 58 qdf_vfs_clear_file_attributes(struct qdf_dev_obj *devobj, 59 struct qdf_vfs_attr *attr); 60 61 /** 62 * qdf_vfs_create_binfile() - create binfile 63 * @devobj: Device object 64 * @attr: File attribute 65 * 66 * This function will create a binary file 67 * 68 * Return: QDF_STATUS_SUCCESS on success 69 */ 70 QDF_STATUS 71 qdf_vfs_create_binfile(struct qdf_dev_obj *devobj, 72 struct qdf_vf_bin_attr *attr); 73 74 /** 75 * qdf_vfs_delete_binfile() - delete binfile 76 * @devobj: Device object 77 * @attr: File attribute 78 * 79 * This function will delete a binary file 80 * 81 * Return: QDF_STATUS_SUCCESS on success 82 */ 83 QDF_STATUS 84 qdf_vfs_delete_binfile(struct qdf_dev_obj *devobj, 85 struct qdf_vf_bin_attr *attr); 86 #else 87 static inline QDF_STATUS 88 qdf_vfs_set_file_attributes(struct qdf_dev_obj *devobj, 89 struct qdf_vfs_attr *attr) 90 { 91 return __qdf_vfs_set_file_attributes(devobj, attr); 92 } 93 94 static inline QDF_STATUS 95 qdf_vfs_clear_file_attributes(struct qdf_dev_obj *devobj, 96 struct qdf_vfs_attr *attr) 97 { 98 return __qdf_vfs_clear_file_attributes(devobj, attr); 99 } 100 101 statuc inline QDF_STATUS 102 qdf_vfs_create_binfile(struct qdf_dev_obj *devobj, 103 struct qdf_vf_bin_attr *attr) 104 { 105 return __qdf_vfs_create_binfile(devobj, attr); 106 } 107 108 static inline QDF_STATUS 109 qdf_vfs_delete_binfile(struct qdf_dev_obj *devobj, 110 struct qdf_vf_bin_attr *attr) 111 { 112 return __qdf_vfs_delete_binfile(devobj, attr); 113 } 114 #endif 115 #endif /* __QDF_VFS_H */ 116