> For the complete documentation index, see [llms.txt](https://sandbox-docs.verifone.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sandbox-docs.verifone.com/adk-5.0-programmers-guide/_e_m_v___e_m___interface_8h_source.md).

# EMV\_EM\_Interface.h

[Go to the documentation of this file.](/adk-5.0-programmers-guide/readme/files/dir_f2a776acea245b054b8e462971041f2d/dir_e6af11fce173b57b34845a2d306ca53e/dir_f0c9ed5f160ef6f1ad42b356fd5a33eb/_e_m_v___e_m___interface_8h.md)

```cpp
 1 /****************************************************************************
 2 * Product: InFusion
 3 * Company: VeriFone
 4 * Author: GSS R&D Germany
 5 * Content: Interface definitions and functions
 6 ****************************************************************************/
 7 
 14 #ifndef _EMV_EM_INTERFACE_H_ /* avoid double interface-includes */
 15 #define _EMV_EM_INTERFACE_H_
 16 
 17 #ifdef __cplusplus
 18 extern "C" {
 19 #endif
 20 
 21 #define DLL_EMC __attribute__((visibility ("default")))
 22 
 23 #define EMV_ENCRYPTION_MANAGER_VERSION "0.0.1-developer" 
 24 
 25 
 26 // ========================================================================================================
 27 // === COMMON PART ===
 28 // ========================================================================================================
 29 #define ENCRYPTION_MANAGER_TAGS_BASE 0xDFD900 
 30 
 31 typedef enum EMV_EM_OUTCOME
 35 {
 36  EM_BLOCKED = 13,
 37  EM_SENSTIVE_ENCRYPTED = 12,
 38  EM_SENSTIVE_FORMAT_PRESERVING = 11,
 39  EM_NOT_SENSITIVE = 10,
 40  EM_ATTRIBUTE = 9,
 41  EM_OK = 0,
 42  EM_PARAM_ERROR = -1,
 43  EM_FAILURE = -2
 44 } EMV_EM_OUTCOME_TYPE;
 45 
 46 
 47 /*****************************************************************************
 48 * EMV_EM_Init
 49 *****************************************************************************/
 69 DLL_EMC int EMV_EM_Init(const unsigned char* TxnRelatedData, unsigned dataLen);
 70 
 71 
 72 /*****************************************************************************
 73 * EMV_EM_IsTagSensitive
 74 *****************************************************************************/
 96 DLL_EMC int EMV_EM_IsTagSensitive(unsigned long RequestedTag, const unsigned long** Mapping, unsigned* LengthMapping);
 97 
 98 
 99 /*****************************************************************************
 100 * EMV_EM_Encrypt
 101 *****************************************************************************/
 120 DLL_EMC const unsigned char* EMV_EM_Encrypt(unsigned long RequestedTag, const unsigned char* DataIn, unsigned DataInLength, unsigned* DataOutLength);
 121 
 122 #ifdef __cplusplus
 123 }
 124 #endif
 125 
 126 #endif // _EMV_EM_INTERFACE_H_
 127 
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://sandbox-docs.verifone.com/adk-5.0-programmers-guide/_e_m_v___e_m___interface_8h_source.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
