1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ***   To edit the content of this header, modify the corresponding
11  ***   source file (e.g. under external/kernel-headers/original/) then
12  ***   run bionic/libc/kernel/tools/update_all.py
13  ***
14  ***   Any manual change here will be lost the next time this script will
15  ***   be run. You've been warned!
16  ***
17  ****************************************************************************
18  ****************************************************************************/
19 #ifndef MSM_PFT_H_
20 #define MSM_PFT_H_
21 #include <linux/types.h>
22 enum pft_command_opcode {
23   PFT_CMD_OPCODE_SET_STATE,
24   PFT_CMD_OPCODE_UPDATE_REG_APP_UID,
25   PFT_CMD_OPCODE_PERFORM_IN_PLACE_FILE_ENC,
26   PFT_CMD_OPCODE_MAX_COMMAND_INDEX
27 };
28 enum pft_state {
29   PFT_STATE_DEACTIVATED,
30   PFT_STATE_DEACTIVATING,
31   PFT_STATE_KEY_REMOVED,
32   PFT_STATE_REMOVING_KEY,
33   PFT_STATE_KEY_LOADED,
34   PFT_STATE_MAX_INDEX
35 };
36 enum pft_command_response_code {
37   PFT_CMD_RESP_SUCCESS,
38   PFT_CMD_RESP_GENERAL_ERROR,
39   PFT_CMD_RESP_INVALID_COMMAND,
40   PFT_CMD_RESP_INVALID_CMD_PARAMS,
41   PFT_CMD_RESP_INVALID_STATE,
42   PFT_CMD_RESP_ALREADY_IN_STATE,
43   PFT_CMD_RESP_INPLACE_FILE_IS_OPEN,
44   PFT_CMD_RESP_ENT_FILES_CLOSING_FAILURE,
45   PFT_CMD_RESP_MAX_INDEX
46 };
47 struct pft_command_response {
48   __u32 command_id;
49   __u32 error_code;
50 };
51 struct pft_command {
52   __u32 opcode;
53   union {
54     struct {
55       __u32 state;
56     } set_state;
57     struct {
58       __u32 items_count;
59       uid_t table[0];
60     } update_app_list;
61     struct {
62       __u32 file_descriptor;
63     } preform_in_place_file_enc;
64   };
65 };
66 #endif
67 
68