Samsung Internal API reference  2.0
tui.h
Go to the documentation of this file.
1 
17 #ifndef TUI_H_
18 #define TUI_H_
19 
20 #include <tee_internal_api.h>
21 
25 #define TEE_TUI_NUMBER_BUTTON_TYPES 6
26 
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30 
32 typedef enum {
37 
39 typedef enum {
43 
45 typedef enum {
49 
51 typedef enum {
59 
61 typedef enum {
66 
70 typedef struct {
71  TEE_TUIImageSource source;
72  union {
73  struct {
74  void *image;
75  size_t imageLength;
76  } ref;
77  struct {
78  uint32_t storageID;
79  void *objectID;
80  size_t objectIDLen;
81  } object;
82  };
83  uint32_t width;
84  uint32_t height;
85 } TEE_TUIImage;
86 
91 typedef struct {
92  char *text;
93  uint32_t textXOffset;
94  uint32_t textYOffset;
95  uint8_t textColor[3];
97  uint32_t imageXOffset;
98  uint32_t imageYOffset;
100 
104 typedef struct {
105  char *text;
107 } TEE_TUIButton;
108 
112 typedef struct {
113  TEE_TUIScreenOrientation screenOrientation;
115  TEE_TUIButton *buttons[6];
116  bool requestedButtons[6];
118 
123 typedef struct {
124  char *buttonText;
125  uint32_t buttonWidth;
126  uint32_t buttonHeight;
130 
134 typedef struct {
136  uint32_t redBitsDepth;
137  uint32_t greenBitsDepth;
138  uint32_t blueBitsDepth;
139  uint32_t widthInch;
140  uint32_t heightInch;
141  uint32_t maxEntryFields;
145  uint8_t labelColor[3];
146  uint32_t labelWidth;
147  uint32_t labelHeight;
150 
154 typedef struct {
155  char *label;
156  TEE_TUIEntryFieldMode mode;
157  TEE_TUIEntryFieldType type;
158  uint32_t minExpectedLength;
159  uint32_t maxExpectedLength;
160  char *buffer;
161  size_t bufferLength;
163 
184 TEE_Result TEE_TUICheckTextFormat(char *text,
185  uint32_t *width,
186  uint32_t *height,
187  uint32_t *lastIndex);
188 
208 TEE_Result TEE_TUIGetScreenInfo(TEE_TUIScreenOrientation screenOrientation,
209  uint32_t nbEntryFields,
210  TEE_TUIScreenInfo *screenInfo);
211 
232 TEE_Result TEE_TUIInitSession(void);
233 
252 TEE_Result TEE_TUICloseSession(void);
253 
319 TEE_Result TEE_TUIDisplayScreen(TEE_TUIScreenConfiguration *screenConfiguration,
320  bool closeTUISession,
321  TEE_TUIEntryField *entryFields,
322  uint32_t entryFieldCount,
323  TEE_TUIButtonType *selectedButton);
324 
325 #ifdef __cplusplus
326 }
327 #endif
328 
329 #endif /* TUI_H_ */
330 
TEE_Result TEE_TUICheckTextFormat(char *text, uint32_t *width, uint32_t *height, uint32_t *lastIndex)
Check whether a given text can be rendered and retrieves information.
Definition: tui.h:46
#define TEE_TUI_NUMBER_BUTTON_TYPES
Definition: tui.h:25
uint32_t buttonHeight
Definition: tui.h:126
TEE_Result TEE_TUIGetScreenInfo(TEE_TUIScreenOrientation screenOrientation, uint32_t nbEntryFields, TEE_TUIScreenInfo *screenInfo)
Retrieves information about the screen.
uint32_t minExpectedLength
Definition: tui.h:158
uint32_t maxEntryFieldLength
Definition: tui.h:144
Definition: tui.h:55
char * text
Definition: tui.h:105
TEE_TUIImageSource source
Definition: tui.h:71
TEE_Result TEE_TUIInitSession(void)
Claims an exclusive access to TUI resources.
bool buttonImageCustom
Definition: tui.h:128
uint32_t blueBitsDepth
Definition: tui.h:138
bool buttonTextCustom
Definition: tui.h:127
Definition: tui.h:34
Structure that represents screen information for a given orientation.
Definition: tui.h:134
Definition: tui.h:64
char * text
Definition: tui.h:92
TEE_TUIImageSource
Image source.
Definition: tui.h:61
Definition: tui.h:47
Definition: tui.h:54
uint32_t grayscaleBitsDepth
Definition: tui.h:135
Definition: tui.h:41
TEE_Result TEE_TUIDisplayScreen(TEE_TUIScreenConfiguration *screenConfiguration, bool closeTUISession, TEE_TUIEntryField *entryFields, uint32_t entryFieldCount, TEE_TUIButtonType *selectedButton)
Displays a TUI screen.
TEE_TUIImage image
Definition: tui.h:106
uint32_t height
Definition: tui.h:84
char * label
Definition: tui.h:155
Structure that defines the contents of the TA defined label area, which is provided to support TA bra...
Definition: tui.h:91
TEE_TUIScreenLabel label
Definition: tui.h:114
char * buffer
Definition: tui.h:160
uint32_t textXOffset
Definition: tui.h:93
Structure that defines a way to handle an image for label area and buttons.
Definition: tui.h:70
Structure that represents an entry field which acquires user inputs.
Definition: tui.h:154
Definition: tui.h:35
uint32_t width
Definition: tui.h:83
TEE_TUIEntryFieldType type
Definition: tui.h:157
uint32_t greenBitsDepth
Definition: tui.h:137
TEE_TUIEntryFieldMode mode
Definition: tui.h:156
uint32_t heightInch
Definition: tui.h:140
TEE_TUIImage image
Definition: tui.h:96
uint32_t labelWidth
Definition: tui.h:146
TEE_TUIScreenOrientation
Screen orientation.
Definition: tui.h:45
Definition: tui.h:62
TEE_TUIButtonType
Button type.
Definition: tui.h:51
Definition: tui.h:52
uint32_t labelHeight
Definition: tui.h:147
TEE_TUIEntryFieldMode
Entry fields mode.
Definition: tui.h:32
Definition: tui.h:63
uint32_t redBitsDepth
Definition: tui.h:136
Definition: tui.h:40
uint32_t widthInch
Definition: tui.h:139
uint32_t imageYOffset
Definition: tui.h:98
TEE_TUIScreenOrientation screenOrientation
Definition: tui.h:113
Definition: tui.h:53
char * buttonText
Definition: tui.h:124
uint32_t entryFieldLabelHeight
Definition: tui.h:143
Structure that defines the content of a button.
Definition: tui.h:104
uint32_t textYOffset
Definition: tui.h:94
Definition: tui.h:33
Structure that represents button information associated with a TUI screen for a given orientation...
Definition: tui.h:123
Structure that enables configuration of a TUI screen.
Definition: tui.h:112
uint32_t imageXOffset
Definition: tui.h:97
Definition: tui.h:57
uint32_t maxExpectedLength
Definition: tui.h:159
uint32_t maxEntryFields
Definition: tui.h:141
TEE_TUIEntryFieldType
Entry fields type.
Definition: tui.h:39
Definition: tui.h:56
size_t bufferLength
Definition: tui.h:161
uint32_t entryFieldLabelWidth
Definition: tui.h:142
TEE_Result TEE_TUICloseSession(void)
Releases TUI resources.
uint32_t buttonWidth
Definition: tui.h:125