> 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/s-adk-5.1-programmers-guide/readme/files/dir_96abbd8654eb9deb39a2a49faed8dd31/libsecins_8h.md).

# libsecins.h

[Data Structures](#nested-classes) | [Macros](#define-members) | [Enumerations](#enum-members) | [Functions](#func-members)

`#include <sys/types.h>` `#include <verifone/vfsys_defs.h>` `#include <inttypes.h>`

Include dependency graph for libsecins.h:

![](/files/szIA0aXG5qdGjQzaBXlf)

This graph shows which files directly or indirectly include this file:

![](/files/QzdqA35d0hK9QtFNPSO9)

[Go to the source code of this file.](/s-adk-5.1-programmers-guide/libsecins_8h_source.md)

|                 |                                                                                                                     |
| --------------- | ------------------------------------------------------------------------------------------------------------------- |
| Data Structures |                                                                                                                     |
| struct          | [SecinsDeviceModeInfo](#struct_secins_device_mode_info)                                                             |
|                 | <p>Device run mode information. <a href="#struct_secins_device_mode_info">More...</a><br></p>                       |
| struct          | [child\_death\_cert](#structchild__death__cert)                                                                     |
|                 | <p>Application termination record. <a href="#structchild__death__cert">More...</a><br></p>                          |
| struct          | [UID\_GID\_RANGE](#struct_u_i_d___g_i_d___r_a_n_g_e)                                                                |
|                 | <p>User/Group ID range. <a href="#struct_u_i_d___g_i_d___r_a_n_g_e">More...</a><br></p>                             |
| struct          | [SYS\_INFO\_OS\_HMAC\_SHA256\_tx](#struct_s_y_s___i_n_f_o___o_s___h_m_a_c___s_h_a256__tx)                           |
|                 | <p>Input data for hashing. <a href="#struct_s_y_s___i_n_f_o___o_s___h_m_a_c___s_h_a256__tx">More...</a><br></p>     |
| struct          | [SYS\_INFO\_OS\_HMAC\_SHA256\_rx](#struct_s_y_s___i_n_f_o___o_s___h_m_a_c___s_h_a256__rx)                           |
|                 | <p>Data received from hashing. <a href="#struct_s_y_s___i_n_f_o___o_s___h_m_a_c___s_h_a256__rx">More...</a><br></p> |
| struct          | [SecinsDaemonAction](#struct_secins_daemon_action)                                                                  |
|                 | <p>Daemon name and action to perform. <a href="#struct_secins_daemon_action">More...</a><br></p>                    |
| struct          | [INST\_DATA](#struct_i_n_s_t___d_a_t_a)                                                                             |
|                 | <p>Data to install a list of dl files. <a href="#struct_i_n_s_t___d_a_t_a">More...</a><br></p>                      |
| struct          | [SECINS\_ERROR\_INFO](#struct_s_e_c_i_n_s___e_r_r_o_r___i_n_f_o)                                                    |

***

Macros

\#define  [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700)   100

\#define  [ERROR\_SECINS\_NO\_MEMORY](#a6fda61c726adc12928555615670ad549)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 0)

\#define  [ERROR\_SECINS\_MKDIR](#aa41f96e027710a23066a08c1917430a4)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 1)

\#define  [ERROR\_SECINS\_FILE\_AUTH](#aefa9dd8967e0bc4261c63bff001eaf1e)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 2)

\#define  [ERROR\_SECINS\_MOUNT\_RFS](#a9b64536cc4377210ca35fa03fdd3df50)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 3)

\#define  [ERROR\_SECINS\_INVALID\_INIT\_FILE](#afb9ffa5beb9c2866dcb8fde99b950353)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 4)

\#define  [ERROR\_SECINS\_PATHNAME\_TOO\_LONG](#ab55535608a6d9ec482ae749b70424381)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 5)

\#define  [ERROR\_SECINS\_CHROOT](#a148563caa1e89bbb32f27b5f1c811f79)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 6)

\#define  [ERROR\_SECINS\_EXEC\_INIT](#a9a2ab3a5f8bf9b4e690fb85f3a3beaff)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 7)

\#define  [ERROR\_SECINS\_OPENDIR](#a1b0a6ad3bf0e4c31ec7ed58d82f00d03)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 8)

\#define  [ERROR\_SECINS\_RENAME\_DIR](#ad7b6ef26bfe5313864a1cad07fe127f9)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 9)

\#define  [ERROR\_SECINS\_CHMOD](#ae433e1c492eef0c3e6d1800e9363af25)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 10)

\#define  [ERROR\_SECINS\_CHOWN](#ae1567b4f746c7a7677e16774987991e7)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 11)

\#define  [ERROR\_SECINS\_FILE\_CREATE](#a389cfc8244b1f1cec8ae319851b1efa5)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 12)

\#define  [ERROR\_SECINS\_FILE\_OPEN](#a203c4b6514c57069903c3f63dcb6308a)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 13)

\#define  [ERROR\_SECINS\_FILE\_WRITE](#af84ebcd1a340b0218a0317bf1cac7451)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 14)

\#define  [ERROR\_SECINS\_NO\_SIG](#a619d5f5ef620fba4a7adf90d55ef3896)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 15)

\#define  [ERROR\_SECINS\_NO\_PKG](#a5d4aa819864aae79c7b449823646acf2)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 16)

\#define  [ERROR\_SECINS\_INVALID\_FILENAME](#ae32eaa6073fa2637d02f294e14f7a164)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 17)

\#define  [ERROR\_SECINS\_INVALID\_INSTALL](#a7a2b9b64e8fbacf4eae00e64631b7115)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 18)

\#define  [ERROR\_SECINS\_INVALID\_INI\_SECTION](#a26075fa2b8a7f89df0fc85c43d3d7f20)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 19)

\#define  [ERROR\_SECINS\_MKNOD](#ae2b09a79cf4e2c73687906f02ef4bd71)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 20)

\#define  [ERROR\_SECINS\_INVALID\_INI\_PROPERTY](#a742c87f456708fd141a48e982eff0759)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 21)

\#define  [ERROR\_SECINS\_NO\_CONTROL\_FILE](#a088b6efc117f8b6ad7151dfed99b6859)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 22)

\#define  [ERROR\_SECINS\_INVALID\_CONTROL\_FILE](#a7bfa29988aa22f6fa08eedbaf128cc06)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 23)

\#define  [ERROR\_SECINS\_CREATE\_CONTROL\_FILE](#a07ff1f3b39cf5baa2f21d12994ec752d)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 24)

\#define  [ERROR\_SECINS\_OLD\_PKG\_VERSION](#ade3087006775c639466d6bc2c0635cc8)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 25)

\#define  [ERROR\_SECINS\_INVALID\_PKG\_TYPE](#ada3032278e4aca53462640caa28a1e73)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 26)

\#define  [ERROR\_SECINS\_EXTRACT\_PKG\_CONTROL](#a6642ce3598dafa7d588ba0d8b03ba901)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 27)

\#define  [ERROR\_SECINS\_EXTRACT\_PKG](#a1e3844c9c23de125ac1ac2c419767e6e)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 28)

\#define  [ERROR\_SECINS\_INVALID\_PKG](#abc12f7c6bcedddfc69cb21e481f3e8e1)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 29)

\#define  [ERROR\_SECINS\_PKG\_LIST](#a177ab2b891a2f773956c668f9b594dfe)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 30)

\#define  [ERROR\_SECINS\_PKG\_FILENAME\_TOO\_LONG](#a9c3870c82fa33426846a5bcd493b5f3c)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 31)

\#define  [ERROR\_SECINS\_INSTALL\_CONTROL\_FILE](#a549a33c6ae6fda536ec11572cd96f664)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 32)

\#define  [ERROR\_SECINS\_INSTALL\_PKG](#a0f1856932c44e13775d6d93035e2cc54)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 33)

\#define  [ERROR\_SECINS\_INSTALL\_SIG](#a4a6a89ba8e1ae1827bb7357cb6a401ef)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 34)

\#define  [ERROR\_SECINS\_PKG\_NOT\_FOUND](#a472a102f71d0f321b8ca25bb59dbab48)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 35)

\#define  [ERROR\_SECINS\_ADD\_GROUP](#a2719315b891bb3ebad7456642902ea2d)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 36)

\#define  [ERROR\_SECINS\_ADD\_USER](#a7a25c49f087eb39be63a078dc0eefb06)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 37)

\#define  [ERROR\_SECINS\_ADD\_SHADOW](#aefbcebc2bf1ebae58d0fc8f992061f6f)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 38)

\#define  [ERROR\_SECINS\_GET\_USER](#a8b723dfec7548457653b4b47b91f7984)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 39)

\#define  [ERROR\_SECINS\_GET\_GROUP](#ac918c9cb72d1ca392338680b47c6fb58)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 40)

\#define  [ERROR\_SECINS\_PROCESS\_FORK](#a0e022df18de8860cc63fe88697d13d50)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 41)

\#define  [ERROR\_SECINS\_CHECK\_GRSEC](#a1d329cd11e691919c073315492d8453a)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 42)

\#define  [ERROR\_SECINS\_START\_GRSEC](#ac59c1fed4dcf3a49694fa2e36ae4991a)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 43)

\#define  [ERROR\_SECINS\_FORK](#ae9a112c25021126440886fb50ecd61de)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 44)

\#define  [ERROR\_SECINS\_GET\_RESOURCE](#ac4a32a508ac8cf72e9ac28b7e01fe795)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 45)

\#define  [ERROR\_SECINS\_SETSID](#a07c020a166b68d0ee1d18cb22b7f0cd6)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 46)

\#define  [ERROR\_SECINS\_START\_LINE\_TOO\_LONG](#aa06d26401aacc48218796eb4cd845d82)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 47)

\#define  [ERROR\_SECINS\_START\_LINE\_INVALID](#a7c6406a42890baef2a90684d004336d4)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 48)

\#define  [ERROR\_SECINS\_START\_ENTRY\_UNKNOWN](#a64dc5928de40abb8e6e966a5a49bb33f)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 49)

\#define  [ERROR\_SECINS\_EXEC\_APP](#a5b6b3036edf0a25e22326e132b70c366)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 50)

\#define  [ERROR\_SECINS\_MODE\_APP](#a19c80c2ef0c315d8c77a47e4bb0fc4f9)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 51)

\#define  [ERROR\_SECINS\_SYMLINK](#a6b8b47eafd63f83c1b18426e4a8aea40)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 52)

\#define  [ERROR\_SECINS\_INVALID\_INSTALL\_FILE](#a77e026bce9f3f4bd43ca272523712862)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 53)

\#define  [ERROR\_SECINS\_EXTRACT\_INSTALL\_FILE](#a0edd2a8a964153cce67833b343c02697)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 54)

\#define  [ERROR\_SECINS\_INVALID\_PKG\_FORMAT](#af8661f96937e1235940e5eec68e74562)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 55)

\#define  [ERROR\_SECINS\_AUTH\_GID](#a0c9150893e6d8d6b8acaeaf389fec6df)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 56)

\#define  [ERROR\_SECINS\_ADD\_CERT](#a10e6aea60361e4c8403ade2ded685248)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 57)

\#define  [ERROR\_SECINS\_PATCH\_VERSION](#a56642740a451deea9607134ad22dc631)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 58)

\#define  [ERROR\_SECINS\_PATCH](#a70da3f8d51d2de5edf32c1f2396ded00)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 59)

\#define  [ERROR\_SECINS\_START\_SVCSEC](#a28e3cd7fc27ec652ea21b6f909f9f1ee)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 60)

\#define  [ERROR\_SECINS\_INVALID\_CERT](#a67260b339074468172f23e463b6af07b)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 61)

\#define  [ERROR\_SECINS\_PUT\_ENV](#a495c9e2c1e7603405e58651cdce834f5)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 62)

\#define  [ERROR\_SECINS\_SET\_USER](#a75b6eb503262cf42ab02e0b156aa7b79)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 63)

\#define  [ERROR\_SECINS\_INVALID\_PKG\_CATEGORY](#a5dfe2be156e88a5f317111cf11c06c00)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 64)

\#define  [ERROR\_SECINS\_INVALID\_CMD](#af3909e263fe7fa913af01a3d7b9fa130)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 65)

\#define  [ERROR\_SECINS\_INVALID\_BUNDLE\_FILE](#afe2a917f63e671b302d8a94dbf76ffb7)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 66)

\#define  [ERROR\_SECINS\_EXTRACT\_BUNDLE\_CONTROL](#a32db521b258168d500bcfcd2fb54d4c2)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 67)

\#define  [ERROR\_SECINS\_INVALID\_BUNDLE\_USER](#afdee13a3a0bbcf48af51f83c2b8f3d20)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 68)

\#define  [ERROR\_SECINS\_INVALID\_PKG\_USER](#a1fa6efea3d72ea83e24df3ddd1b4f6b8)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 69)

\#define  [ERROR\_SECINS\_NO\_BUNDLE](#ae279fbaacb4e8f2e79ceb66cd6d3e1f6)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 70)

\#define  [ERROR\_SECINS\_OPEN\_SOCKET](#a2c8fbb7992e169a9247c7697c50fbd85)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 71)

\#define  [ERROR\_SECINS\_BIND\_FAILURE](#a59b56c82fcb6c913c444cfcde78525f5)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 72)

\#define  [ERROR\_SECINS\_UNKNOWN\_MSG](#aaa3b130861edec8871b4ba82c4961d52)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 73)

\#define  [ERROR\_SECINS\_MSG\_SND](#a88e587bc5fa8052be22accdfa1631dc0)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 74)

\#define  [ERROR\_SECINS\_MSG\_RCV](#a3ca9780ccccc94f1fa9fb8ed3ec8a7e6)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 75)

\#define  [ERROR\_SECINS\_MSG\_SIZE](#ae446ed471bd9b4304f1a1328c5e85cf9)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 76)

\#define  [ERROR\_SECINS\_RESP\_SIZE](#af0eb519d25e2bcbddf9f5289556357ab)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 77)

\#define  [ERROR\_SECINS\_INVALID\_RESP](#ac7a0c13c034880922a08e04f62c99dc6)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 78)

\#define  [ERROR\_SECINS\_FILE\_READ](#a4948fa35273978b3b6f73da17bf01e36)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 79)

\#define  [ERROR\_SECINS\_FILE\_RENAME](#a8abe85e474aff856b7489eae9958ff1d)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 80)

\#define  [ERROR\_SECINS\_USER\_APP\_START](#ab431b766d03829492d2ab0d8136fea8b)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 81)

\#define  [ERROR\_SECINS\_GET\_CWD](#adc51f6791bce69dd5b201cbe43a2b1e1)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 82)

\#define  [ERROR\_SECINS\_INVALID\_PARAM](#a696e7ef72a6b3818aaeaaac854497d01)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 83)

\#define  [ERROR\_SECINS\_NOT\_ALLOWED](#a1134862fe166cb15ccdcffbe71eb74c9)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 84)

\#define  [ERROR\_SECINS\_SYSMODE\_START](#ace406986edf46a58a7c231c434176d77)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 85)

\#define  [ERROR\_SECINS\_INVALID\_PKGLIST](#addc37d5e04a59c92b31a276756a14ad7)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 86)

\#define  [ERROR\_SECINS\_SOCK\_LISTEN](#aa9e459745834c3a4e6ade63e15161d7d)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 87)

\#define  [ERROR\_SECINS\_CONNECT\_FAIL](#a30eb53641f526da4868fc985bd546e76)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 88)

\#define  [ERROR\_SECINS\_PATCH\_APPLIED](#a171b9f52969c05d66d100f2f3e42a40e)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 89)

\#define  [ERROR\_SECINS\_RELOAD\_GRSEC](#a8fcbed9285a59bfce84d1e88838ba3c4)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 90)

\#define  [ERROR\_SECINS\_CREATE\_GRSEC\_FILE](#afdf7f4dbc2fe16f7a87b54f98fe55467)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 91)

\#define  [ERROR\_SECINS\_GRSEC\_SUBJECT](#a60594c5843e9e4d776d7a9481cf9083c)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 92)

\#define  [ERROR\_SECINS\_INVALID\_POLICY\_FILE](#a0980eb2e5569c13a6d4ec631a66a4449)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 93)

\#define  [ERROR\_SECINS\_INVALID\_OBJECT](#a2d569b48791b17b79711b47e2fadde15)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 94)

\#define  [ERROR\_SECINS\_INVALID\_OBJECT\_MODE](#aea0c1ed7cd91f3ba23bdee9d063d53ee)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 95)

\#define  [ERROR\_SECINS\_NO\_POLICY\_FILE](#a1da15955fea3a85b1128eb7feb3fe1f3)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 96)

\#define  [ERROR\_SECINS\_INVALID\_CAPABILITY](#ae1beb4bde646cd22270c37cfd1d0fcac)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 97)

\#define  [ERROR\_SECINS\_OBJECT\_NOT\_HIDDEN](#a42077b32f44c6b553779054466ce40d8)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 98)

\#define  [ERROR\_SECINS\_OBJECT\_NOT\_FOUND](#ae57c57546cffea56f0e5d84dcc9d1c45)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 99)

\#define  [ERROR\_SECINS\_FILE\_CAPS](#a4eea982bf5f08f2b26c21b2cb544f2fc)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 100)

\#define  [ERROR\_SECINS\_SUBJECT\_MODE](#a07df3d9a1137f497e930affb6d86d77c)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 101)

\#define  [ERROR\_SECINS\_REMOVE\_USER](#ac49f89785c57af073edd702e50585bd0)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 102)

\#define  [ERROR\_SECINS\_REMOVE\_GROUP](#ab853cfe038588b6e91a6f5ae2af39284)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 103)

\#define  [ERROR\_SECINS\_PID\_NOT\_FOUND](#ad8cb1b684f89cd1c688f29c52e1fdd00)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 104)

\#define  [ERROR\_SECINS\_SIGNAL\_FAIL](#a6181b76f30684a26a0d64ad9da74bd57)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 105)

\#define  [ERROR\_SECINS\_LOAD\_VSS](#a79a5820f1c2a490c781da6d119e0aa1e)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 106)

\#define  [ERROR\_SECINS\_UNSIGNED\_PKG\_USER](#a49a4b1da586880ac3bc96e2ffb4bfac1)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 107)

\#define  [ERROR\_SECINS\_PATCH\_AUTH](#af2382d038d3b13b3dd1aeecd9ef4f9fd)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 108)

\#define  [ERROR\_SECINS\_EXTRACT\_PATCH\_CONTROL](#a14e2c180de0bc1b07600223764fc0ce8)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 109)

\#define  [ERROR\_SECINS\_GRSEC\_ENTRY\_UNKNOWN](#a6ef1ca51bfe5df4891e293671b07d5a1)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 110)

\#define  [ERROR\_SECINS\_FILE\_DELETE](#a0ae9bed20df007b89116a00cb459b39a)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 111)

\#define  [ERROR\_SECINS\_NO\_SRC\_PKG](#aed0ec104fd6509e6ee2e563db2226ceb)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 112)

\#define  [ERROR\_SECINS\_NO\_SRC\_BUNDLE](#a5a13468e929ce396aeb0909f9e268272)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 113)

\#define  [ERROR\_SECINS\_BUNDLE\_VERSION](#a5a6f427b73340320dbd10911cbe5459e)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 114)

\#define  [ERROR\_SECINS\_BUNDLE\_SRCVERSION](#aef8aafb70ad886532446d3ec0b00d53a)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 115)

\#define  [ERROR\_SECINS\_WRONG\_BUNDLE](#ac59de9ebfdc240c7a61038471392c417)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 116)

\#define  [ERROR\_SECINS\_TOKEN\_FAIL](#a321ed30eaa18577b6d65e1905b30a391)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 117)

\#define  [ERROR\_SECINS\_BUNDLE\_CHANGED](#a579d3b23d629187f7a6f66fb0568fa2c)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 118)

\#define  [ERROR\_SECINS\_BUNDLE\_NOT\_CHANGED](#a642ef047d81cee78ba3cdafc2bf95118)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 119)

\#define  [ERROR\_SECINS\_MANU\_MODE](#a116613be30f7a708d63054cb9257bbe4)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 120)

\#define  [ERROR\_SECINS\_MANU\_MODE\_REQD](#ade422ddecfc7298837de814a796fe051)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 121)

\#define  [ERROR\_SECINS\_INVALID\_UMASK](#a645a170d6abf2684eb5017c85cfc3eba)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 122)

\#define  [ERROR\_SECINS\_FILE\_SEEK](#a1083c48558efcab6fcf3c664883a3246)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 123)

\#define  [ERROR\_SECINS\_MODULE\_NOT\_FOUND](#afd636d9e554608f293eab194bd8c02d9)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 124)

\#define  [ERROR\_SECINS\_INVALID\_HMAC\_CFG](#a3fd51994260cb9a98d6f5f99c7e40e76)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 125)

\#define  [ERROR\_SECINS\_HMAC\_SETUP](#ae7431821f0a8ea70162e414f9d58f895)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 126)

\#define  [ERROR\_SECINS\_HMAC\_CHECK](#ae3d3f7bb75d93cfbcd3e71de3e919d89)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 127)

\#define  [ERROR\_SECINS\_CERT\_NOT\_FOUND](#a3208c6bbec90f72a1ba85d54fc27372e)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 128)

\#define  [ERROR\_SECINS\_BUNDLE\_NOT\_FOUND](#a65b42d3040d0f28b67abb56aeee34294)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 129)

\#define  [ERROR\_SECINS\_TARGET\_ERROR](#aaa4185211538924128b66c5be13fd9d3)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 130)

\#define  [ERROR\_SECINS\_REG\_CALLBACK](#a85652c879eda99d7be957267b45eaae8)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 131)

\#define  [ERROR\_SECINS\_SET\_RESOURCE](#a6ad10e49614acc81fa870e93ea984282)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 132)

\#define  [ERROR\_SECINS\_PATCHLIST\_FILE](#a35088700fa58343a42ce38414cffceba)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 133)

\#define  [ERROR\_SECINS\_SHA\_COMPUTE](#a1a78ece5c2e631931a3c0e119efd98e2)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 134)

\#define  [ERROR\_SECINS\_SHA\_MISMATCH](#aefebe289faffb6fb6081a30c45d36690)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 135)

\#define  [ERROR\_SECINS\_COMPRESS\_PKG](#ac1be7ac4fa5c9efa370df88c62a8fba3)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 136)

\#define  [ERROR\_SECINS\_FILE\_COPY](#aac39fc360ed01df5750c72d518825fcd)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 137)

\#define  [ERROR\_SECINS\_IS\_APP\_DEV](#a66b3a023108cc853c0a85ebf657d770a)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 138)

\#define  [ERROR\_SECINS\_APP\_DEV\_TOKEN](#af7ae7bdbc89c83b02ef19ad38eaffa27)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 139)

\#define  [ERROR\_SECINS\_APP\_DEV\_CERTS](#a8bcdb02337e55e766d7110a0ae7035bf)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 140)

\#define  [ERROR\_SECINS\_DEL\_CERTFILE](#a32b7232e55449e953404b01da2fe999b)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 141)

\#define  [ERROR\_SECINS\_APP\_DEV\_SVID](#aead80bf4c3b73b98f4243262d7414e39)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 142)

\#define  [ERROR\_SECINS\_SPARSE\_PATCH](#aa559bb627e38c47654686522c03c61ac)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 143)

\#define  [ERROR\_SECINS\_HMAC\_KEY\_TOO\_LONG](#a658e864f320c6a6ccdd74ec2f66f066e)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 146)

\#define  [ERROR\_SECINS\_VER\_NOT\_SUPPORTED](#af79ab4c271d8575cf7a36357c048b025)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 147)

\#define  [ERROR\_SECINS\_NO\_KEY\_ELEMENT](#a5eaf5bb6a78afbed3b635c4cfc0e4df3)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 148)

\#define  [ERROR\_SECINS\_NOT\_SUPPORTED](#a33f7a2801a7597a7b1d5420c45451af8)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 149)

\#define  [ERROR\_SECINS\_PARSING\_ERROR](#a39f595a2f13d8ed770060de90b0540b7)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 150)

\#define  [ERROR\_SECINS\_INVALID\_CMS](#a287fd7133288c7d6cfaef3af60f6b0e1)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 151)

\#define  [ERROR\_SECINS\_INSTALL\_TR34JSON](#ab654b340261a0387589c2e90976fc5b5)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 152)

\#define  [ERROR\_SECINS\_INVALID\_RETVAL](#aeaf4fd34bc40754e50ef0898522cd3d6)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 153)

\#define  [ERROR\_SECINS\_LOW\_LAYER\_INSTALL](#a8a00969852ff7504de6a1378409dcccd)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 154) /\* Low layer images failed to install \*/

\#define  [ERROR\_SECINS\_NO\_SN\_MATCH](#a8ba36d95e3beaf69b729fc2adafedd70)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 155) /\* VRK bundle did not contain file for this unit \*/

\#define  [ERROR\_SECINS\_INSTALL\_BUSY\_SYSTEM](#a3446c5adde92b43979b6354f6914a33d)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 156) /\* Do not install as the critical section on by some user \*/

\#define  [ERROR\_SECINS\_DL\_ERROR](#a9d79d76a95f7066c531bb5119c881273)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 157) /\* Dynamic lib errors \*/

\#define  [ERROR\_SECINS\_READ\_LL\_IMAGE](#aef0bd43350b64a9804f6ad0ca846769b)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 158)

\#define  [ERROR\_SECINS\_FILE\_TRUNCATE](#aec49f4c30b1228c6a85189361884fc6f)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 159)

\#define  [ERROR\_SECINS\_FILE\_MMAP](#af013237be60242dad26898b793c60b44)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 160)

\#define  [ERROR\_SECINS\_FILE\_STAT](#a286778a31b27de17be906e235782c618)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 161)

\#define  [ERROR\_SECINS\_INSTSTAT\_FAIL](#a0ef2bc1553f8eb94900bd6050a78316b)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 162)

\#define  [ERROR\_SECINS\_CRITSEC\_OP\_FAILED](#a3121bc5fe88d2dc0e1d334a42a719c72)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 163)

\#define  [ERROR\_SECINS\_VOS2\_SIGNER\_NOT\_FOUND](#ac649b9c0f3f4b9c6bcbfc4d72d343ea1)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 164)

\#define  [ERROR\_SECINS\_INVALID\_DLLIST](#a267bc3fdff412fcacb627dbef4942c5d)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 165)

\#define  [ERROR\_SECINS\_DAEMON\_START\_FAILED](#aaaada4ee3d843b33d6177d596bee8480)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 166)

\#define  [ERROR\_SECINS\_DAEMON\_STOP\_FAILED](#a0c71d13e2d90eb2244fa0b7c19f88484)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 167)

\#define  [ERROR\_SECINS\_DAEMON\_RESTART\_FAILED](#ab80c65b345322814deaec4b648b9b121)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 168)

\#define  [ERROR\_SECINS\_DAEMON\_RELOAD\_FAILED](#a735bd2d7c175a402d8dfe693383dd58b)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 169)

\#define  [ERROR\_SECINS\_NO\_SPACE](#ab3db1018cd6f33d645db9f4656bfb5b6)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 170)

\#define  [ERROR\_SECINS\_PREINST](#a1d05d3a56c8697b517c5e37e57ef029f)   ([ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) + 171) /\* Preinst script execution failure \*/

\#define  [SECINS\_BIT](#a8785304d958ff2afa1a1558426060af6)(n)   (1 << n)

\#define  [MAX\_PATH\_FILE](#a46f3eea7376c0f637c936c541534fa6b)   256

\#define  [SYSMODE\_BTN\_SEM](#a58e4b99a9890835acd045ba8067c6f5b)   "/si\_button\_block\_sem"

\#define  [SECINS\_DEVICE\_MODE\_MANU](#a08e38b9b9735fa1a49b86a891a07d576)   0

\#define  [SECINS\_DEVICE\_MODE\_PROD](#a5030d5285dc7152c09a86f9f7f1a2e41)   1

\#define  [SECINS\_DEVICE\_MODE\_APPDEV](#ab3d822fde0624009eff7ab18f6dcf57e)   2

\#define  [SECINS\_DEVICE\_MODE\_OSDEV](#ae7f33a4a44f3f7584c7710de20d8e3ae)   3

\#define  [SECINS\_PROD\_CERT\_TREE](#a7efcf56ab8884ae6e338c6d57f58eb42)   0

\#define  [SECINS\_OSDEV\_CERT\_TREE](#ae243c3371de494c3c22cb22e1a1e1f67)   1

\#define  [SECINS\_APPDEV\_CERT\_TREE](#a40fd4d2a94bf02052d03c50ea28d79e3)   2

\#define  [SECINS\_DAEMON\_START](#acff58e64f52a86687bdf419f9ea8c82b)   0

\#define  [SECINS\_DAEMON\_STOP](#a3f5a8d644f576a85754413cdee3350e0)   1

\#define  [SECINS\_DAEMON\_RESTART](#afbadc5c9361a34fe2d3d64293e99e349)   2

\#define  [SECINS\_DAEMON\_RELOAD](#a289823d8b0baa1122164f6dd8da8c79e)   3

\#define  [HMAC\_MAX\_HMAC](#a3f74b5c6cfdfa0efaa052ccc8227ced5)   32

\#define  [EVP\_MAX\_KEY](#a33fe149ff57faaee82be9f6dd1331426)   64

\#define  [SECINS\_MAX\_DAEMON\_NAME](#a00f8d8ba32754821e31425119cc4b1f4)   64

\#define  [CONTAINER\_MAX\_NAME\_SIZE](#aa3b95d95fe20a7dc8afb09b3d8e30727)   64

Bitmapped outflags for Secins\_install\_software() API.

\#define  [SECINS\_REBOOT\_REQD\_BIT](#a2562eae1d738b027d8a7769e7c281042)   [SECINS\_BIT](#a8785304d958ff2afa1a1558426060af6)(0)

\#define  [SECINS\_RESTART\_APPS\_REQD\_BIT](#aba562cc9d6045e902c58027755b94ef8)   [SECINS\_BIT](#a8785304d958ff2afa1a1558426060af6)(1)

Application termination cause

\#define  [NORMALLY\_TERMINATED](#abb5110af1d94d87754eaf3181b5f6b23)   0x01

\#define  [KILLED\_BY\_SIGNAL](#a546a506e25c557a955d7c8e63a85f6de)   0x02

\#define  [UNKOWN\_CAUSE\_OF\_DEATH](#a31572f5d31caceab4e03a371a9647d67)   0x03

Max size for the filepath on the target

\#define  [SECINS\_MAX\_PATH](#a0e404a144249057c77a3dfedbb68649d)   256

Max user/group names allowed in Secins\_add\_user/Secins\_add\_group

\#define  [SECINS\_MAX\_USERNAME\_LEN](#a28559bf1b7f284853d49bd5e6e8a8b2e)   16

\#define  [SECINS\_MAX\_GROUPNAME\_LEN](#a736a7dfd73dd9d2470ce55e9d4977837)   16

***

|              |                                                                                                                                                                                                                                                                                                                                               |
| ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Enumerations |                                                                                                                                                                                                                                                                                                                                               |
| enum         | [boot\_modes](#a97ae17878491e0835cc2247a2c675273) { [BOOT\_MODE\_NA](#a97ae17878491e0835cc2247a2c675273a3daad487f03366cfa21cea74851a4558) = -1, [BOOT\_MODE\_FLASH](#a97ae17878491e0835cc2247a2c675273a1460afe4a1c104e59941d25d24920980) = 1, [BOOT\_MODE\_RESCUE](#a97ae17878491e0835cc2247a2c675273a686ceef9f87ff603b1f9c3bc4bb83eb0) = 4 } |

|                  |                                                                                                                                                                                                             |
| ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Functions        |                                                                                                                                                                                                             |
| SecinsPkgInfo \* | [Secins\_read\_pkglist\_entry](#abfc7f37a7096f62cfa8b1a25aff5d0a2) (SecinsPkgInfo \*pkginfo, int pkginfosize)                                                                                               |
| void             | [Secins\_close\_pkglist](#a8f9b9f6008428845addda4447ad1bcf3) (void)                                                                                                                                         |
| SecinsBdlInfo \* | [Secins\_read\_bdllist\_entry](#af84ffc300e16de14c0378153b591ae19) (SecinsBdlInfo \*bdlinfo, int bdlinfosize)                                                                                               |
| void             | [Secins\_close\_bdllist](#a4379fe20e560b3bc5c5831232a2b0168) (void)                                                                                                                                         |
| int              | [Secins\_echo\_test](#a26113450be528c814f90e4b98b0e5201) (char \*echostr, int size, const char \*str)                                                                                                       |
| int              | [Secins\_daemon\_action](#a44926927c650603ab603acfea2dd41d5) (char \*daemonstr, int action)                                                                                                                 |
| int              | [Secins\_install\_pkgs](#ab22e1263e3e1df4a0ceda15df8b2403c) (int \*reboot\_reqd)                                                                                                                            |
| int              | [Secins\_install\_software](#ad2df45f1e3ec9292e8c49447db36d4f8) (int \*outflags, int inflags)                                                                                                               |
| int              | [Secins\_free\_resources\_install\_software](#a23886aa4f4ff18d9e1b6fd3465094214) (const char \*dlfilepath, int inflags)                                                                                     |
| int              | [Secins\_install\_software\_extended](#ad7c7b0255776c882740e418ded8109d4) (const char \*\*dlfilepaths, int nbdlfiles, int inflags)                                                                          |
| int              | [Secins\_precheck\_software](#aa47cbda95765f4b71b848ea05edfa3ea) (const char \*\*dlfilepaths, int nbdlfiles, int \*outflags, int inflags)                                                                   |
| int              | [Secins\_match\_pkg\_user](#ac7ee77db3d707f1d31ec1a39db03bedc) (const char \*path, const char \*username)                                                                                                   |
| int              | [Secins\_install\_json\_tr34\_key\_payload](#a9874ab67d5f61e6532ecfe74e22f1404) (const char \*json\_str)                                                                                                    |
| void             | [Secins\_get\_last\_error\_info](#a46a58872a37d3d0386b641b0641a0efe) ([SECINS\_ERROR\_INFO](#struct_s_e_c_i_n_s___e_r_r_o_r___i_n_f_o) \*info)                                                              |
| void             | [Secins\_clear\_last\_error\_info](#ace612e34da298c6afc1071f02191d93d) (void)                                                                                                                               |
| int              | [Secins\_reboot](#a8c9cab222b6e2d86124746b4a43ed40f) (void)                                                                                                                                                 |
| int              | [Secins\_reboot\_to\_mode](#a7c835aea16d1ba6637294fe4fd893021) (enum [boot\_modes](#a97ae17878491e0835cc2247a2c675273) mode)                                                                                |
| int              | [Secins\_hmac\_check](#a65545c49455073c5c16561ba65cbea6e) (void)                                                                                                                                            |
| int              | [Secins\_poweroff](#a90d40a2614de1822c22afd726ca9d9ad) (void)                                                                                                                                               |
| int              | [Secins\_abort\_poweroff](#a486e33daf2b62580502df2b71cf781e2) (void)                                                                                                                                        |
| int              | [Secins\_format\_card](#a1448d90f5eb49052e5133f7af5de3dfe) (void)                                                                                                                                           |
| int              | [Secins\_start\_app](#aff43d7afca83632f60da8780edf47d5e) (const char \*file)                                                                                                                                |
| int              | [Secins\_start\_user\_apps](#a8a3ac50ee6b0a1094961c67fd2ee174f) (void)                                                                                                                                      |
| int              | [Secins\_start\_sysmode](#ac2e5e23c1ee49cc47f134ccad32a3f49) (void)                                                                                                                                         |
| int              | [Secins\_disable\_sysmode](#a958c7c1e04f5968d29083034d6bec613) (void)                                                                                                                                       |
| int              | [Secins\_enable\_sysmode](#a30485e2019443659776c96c982ca856b) (void)                                                                                                                                        |
| int              | [Secins\_get\_dev\_mode](#aae45e04a35e93667addc45c7fd8c67a3) (int \*dev\_mode)                                                                                                                              |
| int              | [Secins\_get\_uid\_gid\_range](#a36363f0108aac4188f6e42a3a53a8927) ([UID\_GID\_RANGE](#struct_u_i_d___g_i_d___r_a_n_g_e) \*range, int rangesize)                                                            |
| int              | [Secins\_add\_group](#af161fba2bb154d762f56953c016d8b18) (int gid, const char \*groupname)                                                                                                                  |
| int              | [Secins\_add\_user](#a9b8181ee7f45eb83aabd30e05f424ee2) (int uid, const char \*username, int gid)                                                                                                           |
| int              | [Secins\_add\_group\_member](#a6e424f89bd58e3f1fdbd281f6a72b5ae) (int gid, int uid)                                                                                                                         |
| int              | [Secins\_remove\_user](#adbda522c88bf1c2978d1819b9296c86a) (int uid)                                                                                                                                        |
| int              | [Secins\_remove\_group](#a348cfeb2628c2468922fc4ec4b05b913) (int gid)                                                                                                                                       |
| int              | [Secins\_start\_app\_uid](#ab62aa35fb05ad26cc86cf30eb6dc4ecb) (pid\_t \*app\_pid, const char \*cmdline, int uid, int gid)                                                                                   |
| int              | [Secins\_exec\_app\_uid](#aa5bcaa4ffdd18bb3db236bb1a10e9654) (pid\_t \*app\_pid, char \*argp\[], char \*envp\[], int uid, int gid)                                                                          |
| int              | [Secins\_signal\_app](#a9b934e80fb5530116ad7a328b2274093) (pid\_t pid, int sig)                                                                                                                             |
| int              | [Secins\_chown](#a395fe914ce27661247235a69e2230666) (const char \*path, int uid, int gid)                                                                                                                   |
| int              | [Secins\_remove\_bdl\_entry](#ad45855d3874030414358ae1c4cb92208) (SecinsBdlInfo \*bdlinfo)                                                                                                                  |
| int              | [Secins\_removeall\_user](#a30edd404ca74f750c4774cffa07f4b99) (void)                                                                                                                                        |
| int              | [Secins\_remove\_file\_bundle](#a1fd4d7ecf423ff6a6e0e6c9d61ef2ae7) (const char \*file, const char \*pkgtype)                                                                                                |
| int              | [Secins\_remove\_user\_bundle](#a353d4991f8c12982269b62ff0d6e47c2) (const char \*bundlename)                                                                                                                |
| const char \*    | [Secins\_strerror](#a90394d9a793c9df4e397f7a31098cb9d) (int err)                                                                                                                                            |
| int              | [Secins\_secondary\_share\_gid](#ac635ef53cedba52e7685710fa8707d05) (void)                                                                                                                                  |
| int              | [Secins\_get\_secondary\_share\_group](#a007ec19ea8f8b86bf24451a6fe65dde6) (char \*groupname, int namesize)                                                                                                 |
| gid\_t           | [Secins\_share\_gid](#afc2c7d5ca0cab80fdd77679760f13ab2) (void)                                                                                                                                             |
| gid\_t           | [Secins\_system\_gid](#a506810a5bbdaea2cc8781a5f600b6dfe) (void)                                                                                                                                            |
| gid\_t           | [Secins\_users\_gid](#a85b782bcebe6e5663cb01f477f6689d8) (void)                                                                                                                                             |
| unsigned int     | [Secins\_user\_app](#ae9341d1ed5ddb4221f87d904ab48373b) (void)                                                                                                                                              |
| unsigned int     | [Secins\_sys\_app](#a684c05856f208275ae9a6ad7b063a161) (void)                                                                                                                                               |
| gid\_t           | [Secins\_usrsys\_gid](#ade8bab2a01800d3b6fc09c8eec21971c) (uid\_t uid)                                                                                                                                      |
| gid\_t           | [Secins\_sysmode\_share\_gid](#ae4ab6ad22a5aacf4e8ecc74598ee63da) (void)                                                                                                                                    |
| gid\_t           | [Secins\_config\_file\_share\_gid](#a889f86e327c45cc878c43ae0a03a0a1c) (const char \*configfile)                                                                                                            |
| int              | [Secins\_start\_app\_argv](#aaa053c1659b4f8721507f2055b61f357) (pid\_t \*app\_pid, char \*argp\[], char \*envp\[], int(\*cb)([child\_death\_cert](#structchild__death__cert) cert, void \*arg), void \*arg) |
| int              | [Secins\_kill\_app\_pid](#af83b59ae7e076c833b903ead3a8f6183) (pid\_t app\_pid, int sig, int \*status)                                                                                                       |
| int              | [Secins\_delete\_all\_users](#af97a9ad9bc072789429068adfc9eb8ec) (void)                                                                                                                                     |
| int              | [Secins\_hmac\_sha256](#a6470d398e01e54921b8b3cc26da1986b) (uint8\_t \*hash, int \*hash\_size, uint8\_t \*keyin, int keyinsz, int mode)                                                                     |
| int              | [Secins\_block\_on\_sysmode\_button](#a6ae2810657e5476c2de12be21b137b99) (void)                                                                                                                             |
| int              | [Secins\_get\_reboot\_hours](#af1183b83d90a1c279f5dedc1290e0f94) (int \*hours, int rpc\_timeout)                                                                                                            |
| int              | [Secins\_get\_json\_lowlayer\_digests](#ae10c6cdf98b54352904f7e397975a117) (char \*\*json\_str\_buf)                                                                                                        |
| int              | [Secins\_get\_install\_status](#a07ba520e78266f339ad94f0b4e8f71af) (char \*\*json\_str\_buf)                                                                                                                |
| int              | [Secins\_get\_device\_mode\_info](#a4a2307128de3aa5bf112596cc18f3be3) ([SecinsDeviceModeInfo](#struct_secins_device_mode_info) \*device\_mode\_info)                                                        |
| int              | [Secins\_get\_slp\_tainted\_status](#a05fe3eb06b26636eceb024a608813ff0) (int \*tainted)                                                                                                                     |
| int              | [Secins\_add\_cert](#ab1cc702e8ff3d0fc834ab2a708964cda) (const char \*certfile)                                                                                                                             |
| int              | [Secins\_app\_dev\_convert](#ae472648b81864dd7d5c9a57512c5cc29) (const char \*token\_file, const char \*token\_sig, const char \*cert\_dir)                                                                 |
| int              | [Secins\_ExecuteToken](#a88ee277f47a6f879fa5d0a050557e91b) (const char \*token, const char \*token\_signature, const char \*token\_type, int options)                                                       |

***

### DataStructure Documentation <a href="#data-structure-documentation" id="data-structure-documentation"></a>

### SecinsDeviceModeInfo <a href="#struct_secins_device_mode_info" id="struct_secins_device_mode_info"></a>

struct SecinsDeviceModeInfo

Device run mode information.

|             |                    |                                             |
| ----------- | ------------------ | ------------------------------------------- |
| Data Fields |                    |                                             |
| int         | cert\_tree\_type   | Device certificate tree type                |
| int         | curr\_device\_mode | Current device run mode                     |
| int         | hw\_device\_mode   | Device run mode as reported by the hardware |

### child\_death\_cert <a href="#structchild__death__cert" id="structchild__death__cert"></a>

struct child\_death\_cert

Application termination record.

|             |                  |                                         |
| ----------- | ---------------- | --------------------------------------- |
| Data Fields |                  |                                         |
| int         | cause\_of\_death | Application termination cause           |
| int         | death\_details   | Signal No / RC & 0xFF (0 ... 255 range) |
| pid\_t      | pid              | Application pid                         |

### UID\_GID\_RANGE <a href="#struct_u_i_d___g_i_d___r_a_n_g_e" id="struct_u_i_d___g_i_d___r_a_n_g_e"></a>

struct UID\_GID\_RANGE

User/Group ID range.

|             |            |                                                                      |
| ----------- | ---------- | -------------------------------------------------------------------- |
| Data Fields |            |                                                                      |
| int         | num\_gids  | Number Group IDs assigned. Valid UID range \[start\_gid:num\_gids-1] |
| int         | num\_uids  | Number User IDs assigned. Valid UID range \[start\_uid:num\_uids-1]  |
| int         | start\_gid | Start Group ID in the assigned range                                 |
| int         | start\_uid | Start User ID in the assigned range                                  |

### SYS\_INFO\_OS\_HMAC\_SHA256\_tx <a href="#struct_s_y_s___i_n_f_o___o_s___h_m_a_c___s_h_a256__tx" id="struct_s_y_s___i_n_f_o___o_s___h_m_a_c___s_h_a256__tx"></a>

struct SYS\_INFO\_OS\_HMAC\_SHA256\_tx

Input data for hashing.

|               |                                                             |                                                                   |
| ------------- | ----------------------------------------------------------- | ----------------------------------------------------------------- |
| Data Fields   |                                                             |                                                                   |
| unsigned char | key\[[HMAC\_MAX\_HMAC](#a3f74b5c6cfdfa0efaa052ccc8227ced5)] | Key buffer                                                        |
| unsigned int  | keysize                                                     | Key buffer size                                                   |
| int           | mode                                                        | Ignored, exists for app compatibility with Verix or future option |

### SYS\_INFO\_OS\_HMAC\_SHA256\_rx <a href="#struct_s_y_s___i_n_f_o___o_s___h_m_a_c___s_h_a256__rx" id="struct_s_y_s___i_n_f_o___o_s___h_m_a_c___s_h_a256__rx"></a>

struct SYS\_INFO\_OS\_HMAC\_SHA256\_rx

Data received from hashing.

|               |                                                              |                    |
| ------------- | ------------------------------------------------------------ | ------------------ |
| Data Fields   |                                                              |                    |
| unsigned char | hmac\[[HMAC\_MAX\_HMAC](#a3f74b5c6cfdfa0efaa052ccc8227ced5)] | Hash buffer result |
| unsigned int  | hmacsize                                                     | Hash buffer size   |

### SecinsDaemonAction <a href="#struct_secins_daemon_action" id="struct_secins_daemon_action"></a>

struct SecinsDaemonAction

Daemon name and action to perform.

|             |                                                                          |                                  |
| ----------- | ------------------------------------------------------------------------ | -------------------------------- |
| Data Fields |                                                                          |                                  |
| int         | action                                                                   | One of SECINS\_DAEMON\_XX values |
| char        | daemon\[[SECINS\_MAX\_DAEMON\_NAME](#a00f8d8ba32754821e31425119cc4b1f4)] | name of the daemon               |

### INST\_DATA <a href="#struct_i_n_s_t___d_a_t_a" id="struct_i_n_s_t___d_a_t_a"></a>

struct INST\_DATA

Data to install a list of dl files.

|              |               |                                                                                                           |
| ------------ | ------------- | --------------------------------------------------------------------------------------------------------- |
| Data Fields  |               |                                                                                                           |
| char         | dlpaths\[]    | Zero-length array pointing to concatenated null terminated file paths                                     |
| int          | dlpathslength | Full length of concatenated null terminated file paths                                                    |
| unsigned int | inflags       | Flag for installation, can be SECINS\_FORCE\_INSTALL, SECINS\_FORCE\_RESTART\_APPS. SECINS\_FORCE\_REBOOT |

### SECINS\_ERROR\_INFO <a href="#struct_s_e_c_i_n_s___e_r_r_o_r___i_n_f_o" id="struct_s_e_c_i_n_s___e_r_r_o_r___i_n_f_o"></a>

struct SECINS\_ERROR\_INFO

Additional information about Secins error.

|             |                                                                                  |                          |
| ----------- | -------------------------------------------------------------------------------- | ------------------------ |
| Data Fields |                                                                                  |                          |
| char        | bundle\_name\[[CONTAINER\_MAX\_NAME\_SIZE](#aa3b95d95fe20a7dc8afb09b3d8e30727)]  | Last failed bundle name  |
| char        | package\_name\[[CONTAINER\_MAX\_NAME\_SIZE](#aa3b95d95fe20a7dc8afb09b3d8e30727)] | Last failed package name |

### MacroDefinition Documentation <a href="#macro-definition-documentation" id="macro-definition-documentation"></a>

### CONTAINER\_MAX\_NAME\_SIZE <a href="#aa3b95d95fe20a7dc8afb09b3d8e30727" id="aa3b95d95fe20a7dc8afb09b3d8e30727"></a>

\#define CONTAINER\_MAX\_NAME\_SIZE   64

### ERROR\_SECINS <a href="#a8974d44415d205e35f1b9a3c3e6a1700" id="a8974d44415d205e35f1b9a3c3e6a1700"></a>

\#define ERROR\_SECINS   100

Base error code. All error RC are: ERROR\_SECINS + \<x>

### ERROR\_SECINS\_ADD\_CERT <a href="#a10e6aea60361e4c8403ade2ded685248" id="a10e6aea60361e4c8403ade2ded685248"></a>

\#define ERROR\_SECINS\_ADD\_CERT   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 57)

Failed to add Certificate

### ERROR\_SECINS\_ADD\_GROUP <a href="#a2719315b891bb3ebad7456642902ea2d" id="a2719315b891bb3ebad7456642902ea2d"></a>

\#define ERROR\_SECINS\_ADD\_GROUP   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 36)

Failed to add group

### ERROR\_SECINS\_ADD\_SHADOW <a href="#aefbcebc2bf1ebae58d0fc8f992061f6f" id="aefbcebc2bf1ebae58d0fc8f992061f6f"></a>

\#define ERROR\_SECINS\_ADD\_SHADOW   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 38)

Failed to add shadow password entry

### ERROR\_SECINS\_ADD\_USER <a href="#a7a25c49f087eb39be63a078dc0eefb06" id="a7a25c49f087eb39be63a078dc0eefb06"></a>

\#define ERROR\_SECINS\_ADD\_USER   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 37)

Failed to add user

### ERROR\_SECINS\_APP\_DEV\_CERTS <a href="#a8bcdb02337e55e766d7110a0ae7035bf" id="a8bcdb02337e55e766d7110a0ae7035bf"></a>

\#define ERROR\_SECINS\_APP\_DEV\_CERTS   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 140)

### ERROR\_SECINS\_APP\_DEV\_SVID <a href="#aead80bf4c3b73b98f4243262d7414e39" id="aead80bf4c3b73b98f4243262d7414e39"></a>

\#define ERROR\_SECINS\_APP\_DEV\_SVID   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 142)

### ERROR\_SECINS\_APP\_DEV\_TOKEN <a href="#af7ae7bdbc89c83b02ef19ad38eaffa27" id="af7ae7bdbc89c83b02ef19ad38eaffa27"></a>

\#define ERROR\_SECINS\_APP\_DEV\_TOKEN   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 139)

### ERROR\_SECINS\_AUTH\_GID <a href="#a0c9150893e6d8d6b8acaeaf389fec6df" id="a0c9150893e6d8d6b8acaeaf389fec6df"></a>

\#define ERROR\_SECINS\_AUTH\_GID   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 56)

Invalid filetype for authing

### ERROR\_SECINS\_BIND\_FAILURE <a href="#a59b56c82fcb6c913c444cfcde78525f5" id="a59b56c82fcb6c913c444cfcde78525f5"></a>

\#define ERROR\_SECINS\_BIND\_FAILURE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 72)

Failed to bind unix domain address

### ERROR\_SECINS\_BUNDLE\_CHANGED <a href="#a579d3b23d629187f7a6f66fb0568fa2c" id="a579d3b23d629187f7a6f66fb0568fa2c"></a>

\#define ERROR\_SECINS\_BUNDLE\_CHANGED   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 118)

Reloading same bundle version with different pkg versions

### ERROR\_SECINS\_BUNDLE\_NOT\_CHANGED <a href="#a642ef047d81cee78ba3cdafc2bf95118" id="a642ef047d81cee78ba3cdafc2bf95118"></a>

\#define ERROR\_SECINS\_BUNDLE\_NOT\_CHANGED   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 119)

New bundle version with same pkg versions

### ERROR\_SECINS\_BUNDLE\_NOT\_FOUND <a href="#a65b42d3040d0f28b67abb56aeee34294" id="a65b42d3040d0f28b67abb56aeee34294"></a>

\#define ERROR\_SECINS\_BUNDLE\_NOT\_FOUND   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 129)

Bundle not found

### ERROR\_SECINS\_BUNDLE\_SRCVERSION <a href="#aef8aafb70ad886532446d3ec0b00d53a" id="aef8aafb70ad886532446d3ec0b00d53a"></a>

\#define ERROR\_SECINS\_BUNDLE\_SRCVERSION   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 115)

Bundle SrcVersion does not match the installed bundle

### ERROR\_SECINS\_BUNDLE\_VERSION <a href="#a5a6f427b73340320dbd10911cbe5459e" id="a5a6f427b73340320dbd10911cbe5459e"></a>

\#define ERROR\_SECINS\_BUNDLE\_VERSION   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 114)

Higher bundle version already installed

### ERROR\_SECINS\_CERT\_NOT\_FOUND <a href="#a3208c6bbec90f72a1ba85d54fc27372e" id="a3208c6bbec90f72a1ba85d54fc27372e"></a>

\#define ERROR\_SECINS\_CERT\_NOT\_FOUND   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 128)

Certificate not found

### ERROR\_SECINS\_CHECK\_GRSEC <a href="#a1d329cd11e691919c073315492d8453a" id="a1d329cd11e691919c073315492d8453a"></a>

\#define ERROR\_SECINS\_CHECK\_GRSEC   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 42)

Grsecuity policy check failed

### ERROR\_SECINS\_CHMOD <a href="#ae433e1c492eef0c3e6d1800e9363af25" id="ae433e1c492eef0c3e6d1800e9363af25"></a>

\#define ERROR\_SECINS\_CHMOD   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 10)

Failed to set file permissions

### ERROR\_SECINS\_CHOWN <a href="#ae1567b4f746c7a7677e16774987991e7" id="ae1567b4f746c7a7677e16774987991e7"></a>

\#define ERROR\_SECINS\_CHOWN   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 11)

Failed to set file ownership

### ERROR\_SECINS\_CHROOT <a href="#a148563caa1e89bbb32f27b5f1c811f79" id="a148563caa1e89bbb32f27b5f1c811f79"></a>

\#define ERROR\_SECINS\_CHROOT   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 6)

Switch root operation failed

### ERROR\_SECINS\_COMPRESS\_PKG <a href="#ac1be7ac4fa5c9efa370df88c62a8fba3" id="ac1be7ac4fa5c9efa370df88c62a8fba3"></a>

\#define ERROR\_SECINS\_COMPRESS\_PKG   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 136)

### ERROR\_SECINS\_CONNECT\_FAIL <a href="#a30eb53641f526da4868fc985bd546e76" id="a30eb53641f526da4868fc985bd546e76"></a>

\#define ERROR\_SECINS\_CONNECT\_FAIL   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 88)

Failed to connect to secins API socket

### ERROR\_SECINS\_CREATE\_CONTROL\_FILE <a href="#a07ff1f3b39cf5baa2f21d12994ec752d" id="a07ff1f3b39cf5baa2f21d12994ec752d"></a>

\#define ERROR\_SECINS\_CREATE\_CONTROL\_FILE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 24)

Failed to install control file

### ERROR\_SECINS\_CREATE\_GRSEC\_FILE <a href="#afdf7f4dbc2fe16f7a87b54f98fe55467" id="afdf7f4dbc2fe16f7a87b54f98fe55467"></a>

\#define ERROR\_SECINS\_CREATE\_GRSEC\_FILE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 91)

Failed to create grsec policy file

### ERROR\_SECINS\_CRITSEC\_OP\_FAILED <a href="#a3121bc5fe88d2dc0e1d334a42a719c72" id="a3121bc5fe88d2dc0e1d334a42a719c72"></a>

\#define ERROR\_SECINS\_CRITSEC\_OP\_FAILED   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 163)

### ERROR\_SECINS\_DAEMON\_RELOAD\_FAILED <a href="#a735bd2d7c175a402d8dfe693383dd58b" id="a735bd2d7c175a402d8dfe693383dd58b"></a>

\#define ERROR\_SECINS\_DAEMON\_RELOAD\_FAILED   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 169)

### ERROR\_SECINS\_DAEMON\_RESTART\_FAILED <a href="#ab80c65b345322814deaec4b648b9b121" id="ab80c65b345322814deaec4b648b9b121"></a>

\#define ERROR\_SECINS\_DAEMON\_RESTART\_FAILED   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 168)

### ERROR\_SECINS\_DAEMON\_START\_FAILED <a href="#aaaada4ee3d843b33d6177d596bee8480" id="aaaada4ee3d843b33d6177d596bee8480"></a>

\#define ERROR\_SECINS\_DAEMON\_START\_FAILED   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 166)

### ERROR\_SECINS\_DAEMON\_STOP\_FAILED <a href="#a0c71d13e2d90eb2244fa0b7c19f88484" id="a0c71d13e2d90eb2244fa0b7c19f88484"></a>

\#define ERROR\_SECINS\_DAEMON\_STOP\_FAILED   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 167)

### ERROR\_SECINS\_DEL\_CERTFILE <a href="#a32b7232e55449e953404b01da2fe999b" id="a32b7232e55449e953404b01da2fe999b"></a>

\#define ERROR\_SECINS\_DEL\_CERTFILE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 141)

### ERROR\_SECINS\_DL\_ERROR <a href="#a9d79d76a95f7066c531bb5119c881273" id="a9d79d76a95f7066c531bb5119c881273"></a>

\#define ERROR\_SECINS\_DL\_ERROR   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 157) /\\\* Dynamic lib errors \\\*/

### ERROR\_SECINS\_EXEC\_APP <a href="#a5b6b3036edf0a25e22326e132b70c366" id="a5b6b3036edf0a25e22326e132b70c366"></a>

\#define ERROR\_SECINS\_EXEC\_APP   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 50)

Failed to start app

### ERROR\_SECINS\_EXEC\_INIT <a href="#a9a2ab3a5f8bf9b4e690fb85f3a3beaff" id="a9a2ab3a5f8bf9b4e690fb85f3a3beaff"></a>

\#define ERROR\_SECINS\_EXEC\_INIT   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 7)

Failed to run the system init file

### ERROR\_SECINS\_EXTRACT\_BUNDLE\_CONTROL <a href="#a32db521b258168d500bcfcd2fb54d4c2" id="a32db521b258168d500bcfcd2fb54d4c2"></a>

\#define ERROR\_SECINS\_EXTRACT\_BUNDLE\_CONTROL   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 67)

Failed to extract bundle control file

### ERROR\_SECINS\_EXTRACT\_INSTALL\_FILE <a href="#a0edd2a8a964153cce67833b343c02697" id="a0edd2a8a964153cce67833b343c02697"></a>

\#define ERROR\_SECINS\_EXTRACT\_INSTALL\_FILE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 54)

Failed to extract download file

### ERROR\_SECINS\_EXTRACT\_PATCH\_CONTROL <a href="#a14e2c180de0bc1b07600223764fc0ce8" id="a14e2c180de0bc1b07600223764fc0ce8"></a>

\#define ERROR\_SECINS\_EXTRACT\_PATCH\_CONTROL   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 109)

Failed to extract control file from patched pkg

### ERROR\_SECINS\_EXTRACT\_PKG <a href="#a1e3844c9c23de125ac1ac2c419767e6e" id="a1e3844c9c23de125ac1ac2c419767e6e"></a>

\#define ERROR\_SECINS\_EXTRACT\_PKG   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 28)

Failed to extract package archive

### ERROR\_SECINS\_EXTRACT\_PKG\_CONTROL <a href="#a6642ce3598dafa7d588ba0d8b03ba901" id="a6642ce3598dafa7d588ba0d8b03ba901"></a>

\#define ERROR\_SECINS\_EXTRACT\_PKG\_CONTROL   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 27)

Failed to extract pkg CONTROL dir

### ERROR\_SECINS\_FILE\_AUTH <a href="#aefa9dd8967e0bc4261c63bff001eaf1e" id="aefa9dd8967e0bc4261c63bff001eaf1e"></a>

\#define ERROR\_SECINS\_FILE\_AUTH   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 2)

Failed to authenticate package

### ERROR\_SECINS\_FILE\_CAPS <a href="#a4eea982bf5f08f2b26c21b2cb544f2fc" id="a4eea982bf5f08f2b26c21b2cb544f2fc"></a>

\#define ERROR\_SECINS\_FILE\_CAPS   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 100)

Failed to add file capabilities

### ERROR\_SECINS\_FILE\_COPY <a href="#aac39fc360ed01df5750c72d518825fcd" id="aac39fc360ed01df5750c72d518825fcd"></a>

\#define ERROR\_SECINS\_FILE\_COPY   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 137)

### ERROR\_SECINS\_FILE\_CREATE <a href="#a389cfc8244b1f1cec8ae319851b1efa5" id="a389cfc8244b1f1cec8ae319851b1efa5"></a>

\#define ERROR\_SECINS\_FILE\_CREATE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 12)

Failed to create file

### ERROR\_SECINS\_FILE\_DELETE <a href="#a0ae9bed20df007b89116a00cb459b39a" id="a0ae9bed20df007b89116a00cb459b39a"></a>

\#define ERROR\_SECINS\_FILE\_DELETE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 111)

Failed to delete file

### ERROR\_SECINS\_FILE\_MMAP <a href="#af013237be60242dad26898b793c60b44" id="af013237be60242dad26898b793c60b44"></a>

\#define ERROR\_SECINS\_FILE\_MMAP   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 160)

### ERROR\_SECINS\_FILE\_OPEN <a href="#a203c4b6514c57069903c3f63dcb6308a" id="a203c4b6514c57069903c3f63dcb6308a"></a>

\#define ERROR\_SECINS\_FILE\_OPEN   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 13)

Failed to open file

### ERROR\_SECINS\_FILE\_READ <a href="#a4948fa35273978b3b6f73da17bf01e36" id="a4948fa35273978b3b6f73da17bf01e36"></a>

\#define ERROR\_SECINS\_FILE\_READ   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 79)

Failed to read file

### ERROR\_SECINS\_FILE\_RENAME <a href="#a8abe85e474aff856b7489eae9958ff1d" id="a8abe85e474aff856b7489eae9958ff1d"></a>

\#define ERROR\_SECINS\_FILE\_RENAME   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 80)

Failed to rename file

### ERROR\_SECINS\_FILE\_SEEK <a href="#a1083c48558efcab6fcf3c664883a3246" id="a1083c48558efcab6fcf3c664883a3246"></a>

\#define ERROR\_SECINS\_FILE\_SEEK   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 123)

File seek operation failed

### ERROR\_SECINS\_FILE\_STAT <a href="#a286778a31b27de17be906e235782c618" id="a286778a31b27de17be906e235782c618"></a>

\#define ERROR\_SECINS\_FILE\_STAT   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 161)

### ERROR\_SECINS\_FILE\_TRUNCATE <a href="#aec49f4c30b1228c6a85189361884fc6f" id="aec49f4c30b1228c6a85189361884fc6f"></a>

\#define ERROR\_SECINS\_FILE\_TRUNCATE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 159)

Failed to truncate file

### ERROR\_SECINS\_FILE\_WRITE <a href="#af84ebcd1a340b0218a0317bf1cac7451" id="af84ebcd1a340b0218a0317bf1cac7451"></a>

\#define ERROR\_SECINS\_FILE\_WRITE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 14)

Failed to write file

### ERROR\_SECINS\_FORK <a href="#ae9a112c25021126440886fb50ecd61de" id="ae9a112c25021126440886fb50ecd61de"></a>

\#define ERROR\_SECINS\_FORK   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 44)

Failed to create child process

### ERROR\_SECINS\_GET\_CWD <a href="#adc51f6791bce69dd5b201cbe43a2b1e1" id="adc51f6791bce69dd5b201cbe43a2b1e1"></a>

\#define ERROR\_SECINS\_GET\_CWD   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 82)

Failed to get current working dir

### ERROR\_SECINS\_GET\_GROUP <a href="#ac918c9cb72d1ca392338680b47c6fb58" id="ac918c9cb72d1ca392338680b47c6fb58"></a>

\#define ERROR\_SECINS\_GET\_GROUP   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 40)

Group not found

### ERROR\_SECINS\_GET\_RESOURCE <a href="#ac4a32a508ac8cf72e9ac28b7e01fe795" id="ac4a32a508ac8cf72e9ac28b7e01fe795"></a>

\#define ERROR\_SECINS\_GET\_RESOURCE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 45)

Failed to get system resource limits

### ERROR\_SECINS\_GET\_USER <a href="#a8b723dfec7548457653b4b47b91f7984" id="a8b723dfec7548457653b4b47b91f7984"></a>

\#define ERROR\_SECINS\_GET\_USER   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 39)

User not found

### ERROR\_SECINS\_GRSEC\_ENTRY\_UNKNOWN <a href="#a6ef1ca51bfe5df4891e293671b07d5a1" id="a6ef1ca51bfe5df4891e293671b07d5a1"></a>

\#define ERROR\_SECINS\_GRSEC\_ENTRY\_UNKNOWN   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 110)

grsec file entry unknown

### ERROR\_SECINS\_GRSEC\_SUBJECT <a href="#a60594c5843e9e4d776d7a9481cf9083c" id="a60594c5843e9e4d776d7a9481cf9083c"></a>

\#define ERROR\_SECINS\_GRSEC\_SUBJECT   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 92)

Subject in grsec file does not exist

### ERROR\_SECINS\_HMAC\_CHECK <a href="#ae3d3f7bb75d93cfbcd3e71de3e919d89" id="ae3d3f7bb75d93cfbcd3e71de3e919d89"></a>

\#define ERROR\_SECINS\_HMAC\_CHECK   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 127)

Vault HMAC check error

### ERROR\_SECINS\_HMAC\_KEY\_TOO\_LONG <a href="#a658e864f320c6a6ccdd74ec2f66f066e" id="a658e864f320c6a6ccdd74ec2f66f066e"></a>

\#define ERROR\_SECINS\_HMAC\_KEY\_TOO\_LONG   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 146)

### ERROR\_SECINS\_HMAC\_SETUP <a href="#ae7431821f0a8ea70162e414f9d58f895" id="ae7431821f0a8ea70162e414f9d58f895"></a>

\#define ERROR\_SECINS\_HMAC\_SETUP   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 126)

Vault HMAC setup error

### ERROR\_SECINS\_INSTALL\_BUSY\_SYSTEM <a href="#a3446c5adde92b43979b6354f6914a33d" id="a3446c5adde92b43979b6354f6914a33d"></a>

\#define ERROR\_SECINS\_INSTALL\_BUSY\_SYSTEM   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 156) /\\\* Do not install as the critical section on by some user \\\*/

### ERROR\_SECINS\_INSTALL\_CONTROL\_FILE <a href="#a549a33c6ae6fda536ec11572cd96f664" id="a549a33c6ae6fda536ec11572cd96f664"></a>

\#define ERROR\_SECINS\_INSTALL\_CONTROL\_FILE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 32)

Failed to install pkg control file

### ERROR\_SECINS\_INSTALL\_PKG <a href="#a0f1856932c44e13775d6d93035e2cc54" id="a0f1856932c44e13775d6d93035e2cc54"></a>

\#define ERROR\_SECINS\_INSTALL\_PKG   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 33)

Failed to install pkg

### ERROR\_SECINS\_INSTALL\_SIG <a href="#a4a6a89ba8e1ae1827bb7357cb6a401ef" id="a4a6a89ba8e1ae1827bb7357cb6a401ef"></a>

\#define ERROR\_SECINS\_INSTALL\_SIG   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 34)

Failed to install pkg signature

### ERROR\_SECINS\_INSTALL\_TR34JSON <a href="#ab654b340261a0387589c2e90976fc5b5" id="ab654b340261a0387589c2e90976fc5b5"></a>

\#define ERROR\_SECINS\_INSTALL\_TR34JSON   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 152)

### ERROR\_SECINS\_INSTSTAT\_FAIL <a href="#a0ef2bc1553f8eb94900bd6050a78316b" id="a0ef2bc1553f8eb94900bd6050a78316b"></a>

\#define ERROR\_SECINS\_INSTSTAT\_FAIL   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 162)

### ERROR\_SECINS\_INVALID\_BUNDLE\_FILE <a href="#afe2a917f63e671b302d8a94dbf76ffb7" id="afe2a917f63e671b302d8a94dbf76ffb7"></a>

\#define ERROR\_SECINS\_INVALID\_BUNDLE\_FILE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 66)

Invalid bundle file

### ERROR\_SECINS\_INVALID\_BUNDLE\_USER <a href="#afdee13a3a0bbcf48af51f83c2b8f3d20" id="afdee13a3a0bbcf48af51f83c2b8f3d20"></a>

\#define ERROR\_SECINS\_INVALID\_BUNDLE\_USER   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 68)

Invalid bundle user specified

### ERROR\_SECINS\_INVALID\_CAPABILITY <a href="#ae1beb4bde646cd22270c37cfd1d0fcac" id="ae1beb4bde646cd22270c37cfd1d0fcac"></a>

\#define ERROR\_SECINS\_INVALID\_CAPABILITY   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 97)

Capability in grsec file not allowed

### ERROR\_SECINS\_INVALID\_CERT <a href="#a67260b339074468172f23e463b6af07b" id="a67260b339074468172f23e463b6af07b"></a>

\#define ERROR\_SECINS\_INVALID\_CERT   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 61)

Invalid cert file

### ERROR\_SECINS\_INVALID\_CMD <a href="#af3909e263fe7fa913af01a3d7b9fa130" id="af3909e263fe7fa913af01a3d7b9fa130"></a>

\#define ERROR\_SECINS\_INVALID\_CMD   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 65)

Invalid command in remove file

### ERROR\_SECINS\_INVALID\_CMS <a href="#a287fd7133288c7d6cfaef3af60f6b0e1" id="a287fd7133288c7d6cfaef3af60f6b0e1"></a>

\#define ERROR\_SECINS\_INVALID\_CMS   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 151)

### ERROR\_SECINS\_INVALID\_CONTROL\_FILE <a href="#a7bfa29988aa22f6fa08eedbaf128cc06" id="a7bfa29988aa22f6fa08eedbaf128cc06"></a>

\#define ERROR\_SECINS\_INVALID\_CONTROL\_FILE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 23)

Invalid control file in package

### ERROR\_SECINS\_INVALID\_DLLIST <a href="#a267bc3fdff412fcacb627dbef4942c5d" id="a267bc3fdff412fcacb627dbef4942c5d"></a>

\#define ERROR\_SECINS\_INVALID\_DLLIST   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 165)

### ERROR\_SECINS\_INVALID\_FILENAME <a href="#ae32eaa6073fa2637d02f294e14f7a164" id="ae32eaa6073fa2637d02f294e14f7a164"></a>

\#define ERROR\_SECINS\_INVALID\_FILENAME   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 17)

Invalid p7s signature filename

### ERROR\_SECINS\_INVALID\_HMAC\_CFG <a href="#a3fd51994260cb9a98d6f5f99c7e40e76" id="a3fd51994260cb9a98d6f5f99c7e40e76"></a>

\#define ERROR\_SECINS\_INVALID\_HMAC\_CFG   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 125)

HMAC config file missing or invalid

### ERROR\_SECINS\_INVALID\_INI\_PROPERTY <a href="#a742c87f456708fd141a48e982eff0759" id="a742c87f456708fd141a48e982eff0759"></a>

\#define ERROR\_SECINS\_INVALID\_INI\_PROPERTY   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 21)

Invalid ini file property

### ERROR\_SECINS\_INVALID\_INI\_SECTION <a href="#a26075fa2b8a7f89df0fc85c43d3d7f20" id="a26075fa2b8a7f89df0fc85c43d3d7f20"></a>

\#define ERROR\_SECINS\_INVALID\_INI\_SECTION   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 19)

Invalid ini file section

### ERROR\_SECINS\_INVALID\_INIT\_FILE <a href="#afb9ffa5beb9c2866dcb8fde99b950353" id="afb9ffa5beb9c2866dcb8fde99b950353"></a>

\#define ERROR\_SECINS\_INVALID\_INIT\_FILE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 4)

System init file not found

### ERROR\_SECINS\_INVALID\_INSTALL <a href="#a7a2b9b64e8fbacf4eae00e64631b7115" id="a7a2b9b64e8fbacf4eae00e64631b7115"></a>

\#define ERROR\_SECINS\_INVALID\_INSTALL   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 18)

Installed package is invalid

### ERROR\_SECINS\_INVALID\_INSTALL\_FILE <a href="#a77e026bce9f3f4bd43ca272523712862" id="a77e026bce9f3f4bd43ca272523712862"></a>

\#define ERROR\_SECINS\_INVALID\_INSTALL\_FILE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 53)

Invalid install archive type

### ERROR\_SECINS\_INVALID\_OBJECT <a href="#a2d569b48791b17b79711b47e2fadde15" id="a2d569b48791b17b79711b47e2fadde15"></a>

\#define ERROR\_SECINS\_INVALID\_OBJECT   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 94)

Object in grsec file invalid or not allowed

### ERROR\_SECINS\_INVALID\_OBJECT\_MODE <a href="#aea0c1ed7cd91f3ba23bdee9d063d53ee" id="aea0c1ed7cd91f3ba23bdee9d063d53ee"></a>

\#define ERROR\_SECINS\_INVALID\_OBJECT\_MODE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 95)

Object mode in grsec file not allowed

### ERROR\_SECINS\_INVALID\_PARAM <a href="#a696e7ef72a6b3818aaeaaac854497d01" id="a696e7ef72a6b3818aaeaaac854497d01"></a>

\#define ERROR\_SECINS\_INVALID\_PARAM   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 83)

Invalid parameter specified

### ERROR\_SECINS\_INVALID\_PKG <a href="#abc12f7c6bcedddfc69cb21e481f3e8e1" id="abc12f7c6bcedddfc69cb21e481f3e8e1"></a>

\#define ERROR\_SECINS\_INVALID\_PKG   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 29)

Invalid package

### ERROR\_SECINS\_INVALID\_PKG\_CATEGORY <a href="#a5dfe2be156e88a5f317111cf11c06c00" id="a5dfe2be156e88a5f317111cf11c06c00"></a>

\#define ERROR\_SECINS\_INVALID\_PKG\_CATEGORY   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 64)

Invalid package category specified

### ERROR\_SECINS\_INVALID\_PKG\_FORMAT <a href="#af8661f96937e1235940e5eec68e74562" id="af8661f96937e1235940e5eec68e74562"></a>

\#define ERROR\_SECINS\_INVALID\_PKG\_FORMAT   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 55)

Invalid package file type

### ERROR\_SECINS\_INVALID\_PKG\_TYPE <a href="#ada3032278e4aca53462640caa28a1e73" id="ada3032278e4aca53462640caa28a1e73"></a>

\#define ERROR\_SECINS\_INVALID\_PKG\_TYPE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 26)

Invalid package type

### ERROR\_SECINS\_INVALID\_PKG\_USER <a href="#a1fa6efea3d72ea83e24df3ddd1b4f6b8" id="a1fa6efea3d72ea83e24df3ddd1b4f6b8"></a>

\#define ERROR\_SECINS\_INVALID\_PKG\_USER   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 69)

Package user does not match bundle user

### ERROR\_SECINS\_INVALID\_PKGLIST <a href="#addc37d5e04a59c92b31a276756a14ad7" id="addc37d5e04a59c92b31a276756a14ad7"></a>

\#define ERROR\_SECINS\_INVALID\_PKGLIST   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 86)

Package list file invalid

### ERROR\_SECINS\_INVALID\_POLICY\_FILE <a href="#a0980eb2e5569c13a6d4ec631a66a4449" id="a0980eb2e5569c13a6d4ec631a66a4449"></a>

\#define ERROR\_SECINS\_INVALID\_POLICY\_FILE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 93)

Invalid grsec policy file

### ERROR\_SECINS\_INVALID\_RESP <a href="#ac7a0c13c034880922a08e04f62c99dc6" id="ac7a0c13c034880922a08e04f62c99dc6"></a>

\#define ERROR\_SECINS\_INVALID\_RESP   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 78)

Invalid API response

### ERROR\_SECINS\_INVALID\_RETVAL <a href="#aeaf4fd34bc40754e50ef0898522cd3d6" id="aeaf4fd34bc40754e50ef0898522cd3d6"></a>

\#define ERROR\_SECINS\_INVALID\_RETVAL   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 153)

### ERROR\_SECINS\_INVALID\_UMASK <a href="#a645a170d6abf2684eb5017c85cfc3eba" id="a645a170d6abf2684eb5017c85cfc3eba"></a>

\#define ERROR\_SECINS\_INVALID\_UMASK   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 122)

Invalid umask in package, must be octal

### ERROR\_SECINS\_IS\_APP\_DEV <a href="#a66b3a023108cc853c0a85ebf657d770a" id="a66b3a023108cc853c0a85ebf657d770a"></a>

\#define ERROR\_SECINS\_IS\_APP\_DEV   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 138)

### ERROR\_SECINS\_LOAD\_VSS <a href="#a79a5820f1c2a490c781da6d119e0aa1e" id="a79a5820f1c2a490c781da6d119e0aa1e"></a>

\#define ERROR\_SECINS\_LOAD\_VSS   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 106)

Failed to load VSS script to vault

### ERROR\_SECINS\_LOW\_LAYER\_INSTALL <a href="#a8a00969852ff7504de6a1378409dcccd" id="a8a00969852ff7504de6a1378409dcccd"></a>

\#define ERROR\_SECINS\_LOW\_LAYER\_INSTALL   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 154) /\\\* Low layer images failed to install \\\*/

### ERROR\_SECINS\_MANU\_MODE <a href="#a116613be30f7a708d63054cb9257bbe4" id="a116613be30f7a708d63054cb9257bbe4"></a>

\#define ERROR\_SECINS\_MANU\_MODE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 120)

Not allowed when unit in manufacture mode

### ERROR\_SECINS\_MANU\_MODE\_REQD <a href="#ade422ddecfc7298837de814a796fe051" id="ade422ddecfc7298837de814a796fe051"></a>

\#define ERROR\_SECINS\_MANU\_MODE\_REQD   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 121)

Not allowed when unit not in manufacture mode

### ERROR\_SECINS\_MKDIR <a href="#aa41f96e027710a23066a08c1917430a4" id="aa41f96e027710a23066a08c1917430a4"></a>

\#define ERROR\_SECINS\_MKDIR   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 1)

Failed to make directory

### ERROR\_SECINS\_MKNOD <a href="#ae2b09a79cf4e2c73687906f02ef4bd71" id="ae2b09a79cf4e2c73687906f02ef4bd71"></a>

\#define ERROR\_SECINS\_MKNOD   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 20)

Filed to create device node

### ERROR\_SECINS\_MODE\_APP <a href="#a19c80c2ef0c315d8c77a47e4bb0fc4f9" id="a19c80c2ef0c315d8c77a47e4bb0fc4f9"></a>

\#define ERROR\_SECINS\_MODE\_APP   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 51)

Start file entry not executable

### ERROR\_SECINS\_MODULE\_NOT\_FOUND <a href="#afd636d9e554608f293eab194bd8c02d9" id="afd636d9e554608f293eab194bd8c02d9"></a>

\#define ERROR\_SECINS\_MODULE\_NOT\_FOUND   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 124)

Module not installed

### ERROR\_SECINS\_MOUNT\_RFS <a href="#a9b64536cc4377210ca35fa03fdd3df50" id="a9b64536cc4377210ca35fa03fdd3df50"></a>

\#define ERROR\_SECINS\_MOUNT\_RFS   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 3)

Failed to mount file system

### ERROR\_SECINS\_MSG\_RCV <a href="#a3ca9780ccccc94f1fa9fb8ed3ec8a7e6" id="a3ca9780ccccc94f1fa9fb8ed3ec8a7e6"></a>

\#define ERROR\_SECINS\_MSG\_RCV   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 75)

Failed to read API msg

### ERROR\_SECINS\_MSG\_SIZE <a href="#ae446ed471bd9b4304f1a1328c5e85cf9" id="ae446ed471bd9b4304f1a1328c5e85cf9"></a>

\#define ERROR\_SECINS\_MSG\_SIZE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 76)

API message too big

### ERROR\_SECINS\_MSG\_SND <a href="#a88e587bc5fa8052be22accdfa1631dc0" id="a88e587bc5fa8052be22accdfa1631dc0"></a>

\#define ERROR\_SECINS\_MSG\_SND   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 74)

Failed to send API response msg

### ERROR\_SECINS\_NO\_BUNDLE <a href="#ae279fbaacb4e8f2e79ceb66cd6d3e1f6" id="ae279fbaacb4e8f2e79ceb66cd6d3e1f6"></a>

\#define ERROR\_SECINS\_NO\_BUNDLE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 70)

No bundle file matching bundle p7s signature

### ERROR\_SECINS\_NO\_CONTROL\_FILE <a href="#a088b6efc117f8b6ad7151dfed99b6859" id="a088b6efc117f8b6ad7151dfed99b6859"></a>

\#define ERROR\_SECINS\_NO\_CONTROL\_FILE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 22)

No control file in package

### ERROR\_SECINS\_NO\_KEY\_ELEMENT <a href="#a5eaf5bb6a78afbed3b635c4cfc0e4df3" id="a5eaf5bb6a78afbed3b635c4cfc0e4df3"></a>

\#define ERROR\_SECINS\_NO\_KEY\_ELEMENT   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 148)

### ERROR\_SECINS\_NO\_MEMORY <a href="#a6fda61c726adc12928555615670ad549" id="a6fda61c726adc12928555615670ad549"></a>

\#define ERROR\_SECINS\_NO\_MEMORY   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 0)

Memory allocation failure

### ERROR\_SECINS\_NO\_PKG <a href="#a5d4aa819864aae79c7b449823646acf2" id="a5d4aa819864aae79c7b449823646acf2"></a>

\#define ERROR\_SECINS\_NO\_PKG   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 16)

No matching package file with signature

### ERROR\_SECINS\_NO\_POLICY\_FILE <a href="#a1da15955fea3a85b1128eb7feb3fe1f3" id="a1da15955fea3a85b1128eb7feb3fe1f3"></a>

\#define ERROR\_SECINS\_NO\_POLICY\_FILE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 96)

System grsec policy file not found

### ERROR\_SECINS\_NO\_SIG <a href="#a619d5f5ef620fba4a7adf90d55ef3896" id="a619d5f5ef620fba4a7adf90d55ef3896"></a>

\#define ERROR\_SECINS\_NO\_SIG   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 15)

No package signature file

### ERROR\_SECINS\_NO\_SN\_MATCH <a href="#a8ba36d95e3beaf69b729fc2adafedd70" id="a8ba36d95e3beaf69b729fc2adafedd70"></a>

\#define ERROR\_SECINS\_NO\_SN\_MATCH   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 155) /\\\* VRK bundle did not contain file for this unit \\\*/

### ERROR\_SECINS\_NO\_SPACE <a href="#ab3db1018cd6f33d645db9f4656bfb5b6" id="ab3db1018cd6f33d645db9f4656bfb5b6"></a>

\#define ERROR\_SECINS\_NO\_SPACE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 170)

### ERROR\_SECINS\_NO\_SRC\_BUNDLE <a href="#a5a13468e929ce396aeb0909f9e268272" id="a5a13468e929ce396aeb0909f9e268272"></a>

\#define ERROR\_SECINS\_NO\_SRC\_BUNDLE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 113)

Bundle to be patched does not exist

### ERROR\_SECINS\_NO\_SRC\_PKG <a href="#aed0ec104fd6509e6ee2e563db2226ceb" id="aed0ec104fd6509e6ee2e563db2226ceb"></a>

\#define ERROR\_SECINS\_NO\_SRC\_PKG   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 112)

Package to be patched does not exist

### ERROR\_SECINS\_NOT\_ALLOWED <a href="#a1134862fe166cb15ccdcffbe71eb74c9" id="a1134862fe166cb15ccdcffbe71eb74c9"></a>

\#define ERROR\_SECINS\_NOT\_ALLOWED   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 84)

Permission denied

### ERROR\_SECINS\_NOT\_SUPPORTED <a href="#a33f7a2801a7597a7b1d5420c45451af8" id="a33f7a2801a7597a7b1d5420c45451af8"></a>

\#define ERROR\_SECINS\_NOT\_SUPPORTED   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 149)

### ERROR\_SECINS\_OBJECT\_NOT\_FOUND <a href="#ae57c57546cffea56f0e5d84dcc9d1c45" id="ae57c57546cffea56f0e5d84dcc9d1c45"></a>

\#define ERROR\_SECINS\_OBJECT\_NOT\_FOUND   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 99)

Required object in grsec file not found

### ERROR\_SECINS\_OBJECT\_NOT\_HIDDEN <a href="#a42077b32f44c6b553779054466ce40d8" id="a42077b32f44c6b553779054466ce40d8"></a>

\#define ERROR\_SECINS\_OBJECT\_NOT\_HIDDEN   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 98)

Object in grsec file must be hidden

### ERROR\_SECINS\_OLD\_PKG\_VERSION <a href="#ade3087006775c639466d6bc2c0635cc8" id="ade3087006775c639466d6bc2c0635cc8"></a>

\#define ERROR\_SECINS\_OLD\_PKG\_VERSION   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 25)

More up-to-date package already installed

### ERROR\_SECINS\_OPEN\_SOCKET <a href="#a2c8fbb7992e169a9247c7697c50fbd85" id="a2c8fbb7992e169a9247c7697c50fbd85"></a>

\#define ERROR\_SECINS\_OPEN\_SOCKET   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 71)

Failed to open socket

### ERROR\_SECINS\_OPENDIR <a href="#a1b0a6ad3bf0e4c31ec7ed58d82f00d03" id="a1b0a6ad3bf0e4c31ec7ed58d82f00d03"></a>

\#define ERROR\_SECINS\_OPENDIR   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 8)

Failed to open directory

### ERROR\_SECINS\_PARSING\_ERROR <a href="#a39f595a2f13d8ed770060de90b0540b7" id="a39f595a2f13d8ed770060de90b0540b7"></a>

\#define ERROR\_SECINS\_PARSING\_ERROR   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 150)

### ERROR\_SECINS\_PATCH <a href="#a70da3f8d51d2de5edf32c1f2396ded00" id="a70da3f8d51d2de5edf32c1f2396ded00"></a>

\#define ERROR\_SECINS\_PATCH   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 59)

Failed to patch package

### ERROR\_SECINS\_PATCH\_APPLIED <a href="#a171b9f52969c05d66d100f2f3e42a40e" id="a171b9f52969c05d66d100f2f3e42a40e"></a>

\#define ERROR\_SECINS\_PATCH\_APPLIED   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 89)

Low Layer patch already applied

### ERROR\_SECINS\_PATCH\_AUTH <a href="#af2382d038d3b13b3dd1aeecd9ef4f9fd" id="af2382d038d3b13b3dd1aeecd9ef4f9fd"></a>

\#define ERROR\_SECINS\_PATCH\_AUTH   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 108)

Failed to auth patched pkg

### ERROR\_SECINS\_PATCH\_VERSION <a href="#a56642740a451deea9607134ad22dc631" id="a56642740a451deea9607134ad22dc631"></a>

\#define ERROR\_SECINS\_PATCH\_VERSION   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 58)

Patch SrcVersion does not match the installed pkg

### ERROR\_SECINS\_PATCHLIST\_FILE <a href="#a35088700fa58343a42ce38414cffceba" id="a35088700fa58343a42ce38414cffceba"></a>

\#define ERROR\_SECINS\_PATCHLIST\_FILE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 133)

### ERROR\_SECINS\_PATHNAME\_TOO\_LONG <a href="#ab55535608a6d9ec482ae749b70424381" id="ab55535608a6d9ec482ae749b70424381"></a>

\#define ERROR\_SECINS\_PATHNAME\_TOO\_LONG   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 5)

Pathname too long

### ERROR\_SECINS\_PID\_NOT\_FOUND <a href="#ad8cb1b684f89cd1c688f29c52e1fdd00" id="ad8cb1b684f89cd1c688f29c52e1fdd00"></a>

\#define ERROR\_SECINS\_PID\_NOT\_FOUND   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 104)

Process does not exist

### ERROR\_SECINS\_PKG\_FILENAME\_TOO\_LONG <a href="#a9c3870c82fa33426846a5bcd493b5f3c" id="a9c3870c82fa33426846a5bcd493b5f3c"></a>

\#define ERROR\_SECINS\_PKG\_FILENAME\_TOO\_LONG   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 31)

Package filename too long

### ERROR\_SECINS\_PKG\_LIST <a href="#a177ab2b891a2f773956c668f9b594dfe" id="a177ab2b891a2f773956c668f9b594dfe"></a>

\#define ERROR\_SECINS\_PKG\_LIST   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 30)

Failed to read pkg contents

### ERROR\_SECINS\_PKG\_NOT\_FOUND <a href="#a472a102f71d0f321b8ca25bb59dbab48" id="a472a102f71d0f321b8ca25bb59dbab48"></a>

\#define ERROR\_SECINS\_PKG\_NOT\_FOUND   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 35)

Incomplete pkg install

### ERROR\_SECINS\_PREINST <a href="#a1d05d3a56c8697b517c5e37e57ef029f" id="a1d05d3a56c8697b517c5e37e57ef029f"></a>

\#define ERROR\_SECINS\_PREINST   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 171) /\\\* Preinst script execution failure \\\*/

### ERROR\_SECINS\_PROCESS\_FORK <a href="#a0e022df18de8860cc63fe88697d13d50" id="a0e022df18de8860cc63fe88697d13d50"></a>

\#define ERROR\_SECINS\_PROCESS\_FORK   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 41)

### ERROR\_SECINS\_PUT\_ENV <a href="#a495c9e2c1e7603405e58651cdce834f5" id="a495c9e2c1e7603405e58651cdce834f5"></a>

\#define ERROR\_SECINS\_PUT\_ENV   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 62)

Failed to process package config file

### ERROR\_SECINS\_READ\_LL\_IMAGE <a href="#aef0bd43350b64a9804f6ad0ca846769b" id="aef0bd43350b64a9804f6ad0ca846769b"></a>

\#define ERROR\_SECINS\_READ\_LL\_IMAGE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 158)

Failed to read lowlayer image from flash

### ERROR\_SECINS\_REG\_CALLBACK <a href="#a85652c879eda99d7be957267b45eaae8" id="a85652c879eda99d7be957267b45eaae8"></a>

\#define ERROR\_SECINS\_REG\_CALLBACK   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 131)

Failed to register callback(full table)

### ERROR\_SECINS\_RELOAD\_GRSEC <a href="#a8fcbed9285a59bfce84d1e88838ba3c4" id="a8fcbed9285a59bfce84d1e88838ba3c4"></a>

\#define ERROR\_SECINS\_RELOAD\_GRSEC   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 90)

Failed to reload the grsecurity policy

### ERROR\_SECINS\_REMOVE\_GROUP <a href="#ab853cfe038588b6e91a6f5ae2af39284" id="ab853cfe038588b6e91a6f5ae2af39284"></a>

\#define ERROR\_SECINS\_REMOVE\_GROUP   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 103)

Failed to remove group

### ERROR\_SECINS\_REMOVE\_USER <a href="#ac49f89785c57af073edd702e50585bd0" id="ac49f89785c57af073edd702e50585bd0"></a>

\#define ERROR\_SECINS\_REMOVE\_USER   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 102)

Failed to remove user

### ERROR\_SECINS\_RENAME\_DIR <a href="#ad7b6ef26bfe5313864a1cad07fe127f9" id="ad7b6ef26bfe5313864a1cad07fe127f9"></a>

\#define ERROR\_SECINS\_RENAME\_DIR   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 9)

Failed to rename directory

### ERROR\_SECINS\_RESP\_SIZE <a href="#af0eb519d25e2bcbddf9f5289556357ab" id="af0eb519d25e2bcbddf9f5289556357ab"></a>

\#define ERROR\_SECINS\_RESP\_SIZE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 77)

API response message too big

### ERROR\_SECINS\_SET\_RESOURCE <a href="#a6ad10e49614acc81fa870e93ea984282" id="a6ad10e49614acc81fa870e93ea984282"></a>

\#define ERROR\_SECINS\_SET\_RESOURCE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 132)

Failed to set system resource

### ERROR\_SECINS\_SET\_USER <a href="#a75b6eb503262cf42ab02e0b156aa7b79" id="a75b6eb503262cf42ab02e0b156aa7b79"></a>

\#define ERROR\_SECINS\_SET\_USER   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 63)

Failed to set user id

### ERROR\_SECINS\_SETSID <a href="#a07c020a166b68d0ee1d18cb22b7f0cd6" id="a07c020a166b68d0ee1d18cb22b7f0cd6"></a>

\#define ERROR\_SECINS\_SETSID   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 46)

Failed to create new session

### ERROR\_SECINS\_SHA\_COMPUTE <a href="#a1a78ece5c2e631931a3c0e119efd98e2" id="a1a78ece5c2e631931a3c0e119efd98e2"></a>

\#define ERROR\_SECINS\_SHA\_COMPUTE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 134)

### ERROR\_SECINS\_SHA\_MISMATCH <a href="#aefebe289faffb6fb6081a30c45d36690" id="aefebe289faffb6fb6081a30c45d36690"></a>

\#define ERROR\_SECINS\_SHA\_MISMATCH   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 135)

### ERROR\_SECINS\_SIGNAL\_FAIL <a href="#a6181b76f30684a26a0d64ad9da74bd57" id="a6181b76f30684a26a0d64ad9da74bd57"></a>

\#define ERROR\_SECINS\_SIGNAL\_FAIL   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 105)

Failed to send signal

### ERROR\_SECINS\_SOCK\_LISTEN <a href="#aa9e459745834c3a4e6ade63e15161d7d" id="aa9e459745834c3a4e6ade63e15161d7d"></a>

\#define ERROR\_SECINS\_SOCK\_LISTEN   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 87)

Failed to setup API socket

### ERROR\_SECINS\_SPARSE\_PATCH <a href="#aa559bb627e38c47654686522c03c61ac" id="aa559bb627e38c47654686522c03c61ac"></a>

\#define ERROR\_SECINS\_SPARSE\_PATCH   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 143)

### ERROR\_SECINS\_START\_ENTRY\_UNKNOWN <a href="#a64dc5928de40abb8e6e966a5a49bb33f" id="a64dc5928de40abb8e6e966a5a49bb33f"></a>

\#define ERROR\_SECINS\_START\_ENTRY\_UNKNOWN   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 49)

Start file entry unknown

### ERROR\_SECINS\_START\_GRSEC <a href="#ac59c1fed4dcf3a49694fa2e36ae4991a" id="ac59c1fed4dcf3a49694fa2e36ae4991a"></a>

\#define ERROR\_SECINS\_START\_GRSEC   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 43)

Failed to enable Grsecurity

### ERROR\_SECINS\_START\_LINE\_INVALID <a href="#a7c6406a42890baef2a90684d004336d4" id="a7c6406a42890baef2a90684d004336d4"></a>

\#define ERROR\_SECINS\_START\_LINE\_INVALID   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 48)

Start file line invalid

### ERROR\_SECINS\_START\_LINE\_TOO\_LONG <a href="#aa06d26401aacc48218796eb4cd845d82" id="aa06d26401aacc48218796eb4cd845d82"></a>

\#define ERROR\_SECINS\_START\_LINE\_TOO\_LONG   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 47)

Start file line too long

### ERROR\_SECINS\_START\_SVCSEC <a href="#a28e3cd7fc27ec652ea21b6f909f9f1ee" id="a28e3cd7fc27ec652ea21b6f909f9f1ee"></a>

\#define ERROR\_SECINS\_START\_SVCSEC   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 60)

Failed to start svcsec application

### ERROR\_SECINS\_SUBJECT\_MODE <a href="#a07df3d9a1137f497e930affb6d86d77c" id="a07df3d9a1137f497e930affb6d86d77c"></a>

\#define ERROR\_SECINS\_SUBJECT\_MODE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 101)

Invalid subject mode in grsec file

### ERROR\_SECINS\_SYMLINK <a href="#a6b8b47eafd63f83c1b18426e4a8aea40" id="a6b8b47eafd63f83c1b18426e4a8aea40"></a>

\#define ERROR\_SECINS\_SYMLINK   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 52)

Failed to create symlink

### ERROR\_SECINS\_SYSMODE\_START <a href="#ace406986edf46a58a7c231c434176d77" id="ace406986edf46a58a7c231c434176d77"></a>

\#define ERROR\_SECINS\_SYSMODE\_START   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 85)

No sysmode loaded

### ERROR\_SECINS\_TARGET\_ERROR <a href="#aaa4185211538924128b66c5be13fd9d3" id="aaa4185211538924128b66c5be13fd9d3"></a>

\#define ERROR\_SECINS\_TARGET\_ERROR   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 130)

Not installing as target not met

### ERROR\_SECINS\_TOKEN\_FAIL <a href="#a321ed30eaa18577b6d65e1905b30a391" id="a321ed30eaa18577b6d65e1905b30a391"></a>

\#define ERROR\_SECINS\_TOKEN\_FAIL   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 117)

Failed to install feature enablement token

### ERROR\_SECINS\_UNKNOWN\_MSG <a href="#aaa3b130861edec8871b4ba82c4961d52" id="aaa3b130861edec8871b4ba82c4961d52"></a>

\#define ERROR\_SECINS\_UNKNOWN\_MSG   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 73)

Unknown secure installer msg

### ERROR\_SECINS\_UNSIGNED\_PKG\_USER <a href="#a49a4b1da586880ac3bc96e2ffb4bfac1" id="a49a4b1da586880ac3bc96e2ffb4bfac1"></a>

\#define ERROR\_SECINS\_UNSIGNED\_PKG\_USER   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 107)

Unsigned pkg being installed by invalid user

### ERROR\_SECINS\_USER\_APP\_START <a href="#ab431b766d03829492d2ab0d8136fea8b" id="ab431b766d03829492d2ab0d8136fea8b"></a>

\#define ERROR\_SECINS\_USER\_APP\_START   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 81)

Failed to start app

### ERROR\_SECINS\_VER\_NOT\_SUPPORTED <a href="#af79ab4c271d8575cf7a36357c048b025" id="af79ab4c271d8575cf7a36357c048b025"></a>

\#define ERROR\_SECINS\_VER\_NOT\_SUPPORTED   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 147)

### ERROR\_SECINS\_VOS2\_SIGNER\_NOT\_FOUND <a href="#ac649b9c0f3f4b9c6bcbfc4d72d343ea1" id="ac649b9c0f3f4b9c6bcbfc4d72d343ea1"></a>

\#define ERROR\_SECINS\_VOS2\_SIGNER\_NOT\_FOUND   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 164)

### ERROR\_SECINS\_WRONG\_BUNDLE <a href="#ac59de9ebfdc240c7a61038471392c417" id="ac59de9ebfdc240c7a61038471392c417"></a>

\#define ERROR\_SECINS\_WRONG\_BUNDLE   (\[ERROR\_SECINS]\(#a8974d44415d205e35f1b9a3c3e6a1700) + 116)

Package being installed already exists in a different bundle

### EVP\_MAX\_KEY <a href="#a33fe149ff57faaee82be9f6dd1331426" id="a33fe149ff57faaee82be9f6dd1331426"></a>

\#define EVP\_MAX\_KEY   64

### HMAC\_MAX\_HMAC <a href="#a3f74b5c6cfdfa0efaa052ccc8227ced5" id="a3f74b5c6cfdfa0efaa052ccc8227ced5"></a>

\#define HMAC\_MAX\_HMAC   32

### KILLED\_BY\_SIGNAL <a href="#a546a506e25c557a955d7c8e63a85f6de" id="a546a506e25c557a955d7c8e63a85f6de"></a>

\#define KILLED\_BY\_SIGNAL   0x02

Application killed by system signal

### MAX\_PATH\_FILE <a href="#a46f3eea7376c0f637c936c541534fa6b" id="a46f3eea7376c0f637c936c541534fa6b"></a>

\#define MAX\_PATH\_FILE   256

### NORMALLY\_TERMINATED <a href="#abb5110af1d94d87754eaf3181b5f6b23" id="abb5110af1d94d87754eaf3181b5f6b23"></a>

\#define NORMALLY\_TERMINATED   0x01

Application terminated by exit(2) or returned from main

### SECINS\_APPDEV\_CERT\_TREE <a href="#a40fd4d2a94bf02052d03c50ea28d79e3" id="a40fd4d2a94bf02052d03c50ea28d79e3"></a>

\#define SECINS\_APPDEV\_CERT\_TREE   2

### SECINS\_BIT <a href="#a8785304d958ff2afa1a1558426060af6" id="a8785304d958ff2afa1a1558426060af6"></a>

\#define SECINS\_BIT

### SECINS\_DAEMON\_RELOAD <a href="#a289823d8b0baa1122164f6dd8da8c79e" id="a289823d8b0baa1122164f6dd8da8c79e"></a>

\#define SECINS\_DAEMON\_RELOAD   3

### SECINS\_DAEMON\_RESTART <a href="#afbadc5c9361a34fe2d3d64293e99e349" id="afbadc5c9361a34fe2d3d64293e99e349"></a>

\#define SECINS\_DAEMON\_RESTART   2

### SECINS\_DAEMON\_START <a href="#acff58e64f52a86687bdf419f9ea8c82b" id="acff58e64f52a86687bdf419f9ea8c82b"></a>

\#define SECINS\_DAEMON\_START   0

### SECINS\_DAEMON\_STOP <a href="#a3f5a8d644f576a85754413cdee3350e0" id="a3f5a8d644f576a85754413cdee3350e0"></a>

\#define SECINS\_DAEMON\_STOP   1

### SECINS\_DEVICE\_MODE\_APPDEV <a href="#ab3d822fde0624009eff7ab18f6dcf57e" id="ab3d822fde0624009eff7ab18f6dcf57e"></a>

\#define SECINS\_DEVICE\_MODE\_APPDEV   2

### SECINS\_DEVICE\_MODE\_MANU <a href="#a08e38b9b9735fa1a49b86a891a07d576" id="a08e38b9b9735fa1a49b86a891a07d576"></a>

\#define SECINS\_DEVICE\_MODE\_MANU   0

### SECINS\_DEVICE\_MODE\_OSDEV <a href="#ae7f33a4a44f3f7584c7710de20d8e3ae" id="ae7f33a4a44f3f7584c7710de20d8e3ae"></a>

\#define SECINS\_DEVICE\_MODE\_OSDEV   3

### SECINS\_DEVICE\_MODE\_PROD <a href="#a5030d5285dc7152c09a86f9f7f1a2e41" id="a5030d5285dc7152c09a86f9f7f1a2e41"></a>

\#define SECINS\_DEVICE\_MODE\_PROD   1

### SECINS\_MAX\_DAEMON\_NAME <a href="#a00f8d8ba32754821e31425119cc4b1f4" id="a00f8d8ba32754821e31425119cc4b1f4"></a>

\#define SECINS\_MAX\_DAEMON\_NAME   64

### SECINS\_MAX\_GROUPNAME\_LEN <a href="#a736a7dfd73dd9d2470ce55e9d4977837" id="a736a7dfd73dd9d2470ce55e9d4977837"></a>

\#define SECINS\_MAX\_GROUPNAME\_LEN   16

### SECINS\_MAX\_PATH <a href="#a0e404a144249057c77a3dfedbb68649d" id="a0e404a144249057c77a3dfedbb68649d"></a>

\#define SECINS\_MAX\_PATH   256

### SECINS\_MAX\_USERNAME\_LEN <a href="#a28559bf1b7f284853d49bd5e6e8a8b2e" id="a28559bf1b7f284853d49bd5e6e8a8b2e"></a>

\#define SECINS\_MAX\_USERNAME\_LEN   16

### SECINS\_OSDEV\_CERT\_TREE <a href="#ae243c3371de494c3c22cb22e1a1e1f67" id="ae243c3371de494c3c22cb22e1a1e1f67"></a>

\#define SECINS\_OSDEV\_CERT\_TREE   1

### SECINS\_PROD\_CERT\_TREE <a href="#a7efcf56ab8884ae6e338c6d57f58eb42" id="a7efcf56ab8884ae6e338c6d57f58eb42"></a>

\#define SECINS\_PROD\_CERT\_TREE   0

### SECINS\_REBOOT\_REQD\_BIT <a href="#a2562eae1d738b027d8a7769e7c281042" id="a2562eae1d738b027d8a7769e7c281042"></a>

\#define SECINS\_REBOOT\_REQD\_BIT   \[SECINS\_BIT]\(#a8785304d958ff2afa1a1558426060af6)(0)

Reboot is required after installation is complete

### SECINS\_RESTART\_APPS\_REQD\_BIT <a href="#aba562cc9d6045e902c58027755b94ef8" id="aba562cc9d6045e902c58027755b94ef8"></a>

\#define SECINS\_RESTART\_APPS\_REQD\_BIT   \[SECINS\_BIT]\(#a8785304d958ff2afa1a1558426060af6)(1)

Application restart is required after installation is complete. [Secins\_start\_user\_apps()](#a8a3ac50ee6b0a1094961c67fd2ee174f) should be used for restarting user apps when required

### SYSMODE\_BTN\_SEM <a href="#a58e4b99a9890835acd045ba8067c6f5b" id="a58e4b99a9890835acd045ba8067c6f5b"></a>

\#define SYSMODE\_BTN\_SEM   \\"/si\_button\_block\_sem\\"

### UNKOWN\_CAUSE\_OF\_DEATH <a href="#a31572f5d31caceab4e03a371a9647d67" id="a31572f5d31caceab4e03a371a9647d67"></a>

\#define UNKOWN\_CAUSE\_OF\_DEATH   0x03

Should not receive this normaly

### EnumerationType Documentation <a href="#enumeration-type-documentation" id="enumeration-type-documentation"></a>

### boot\_modes <a href="#a97ae17878491e0835cc2247a2c675273" id="a97ae17878491e0835cc2247a2c675273"></a>

enum \[boot\_modes]\(#a97ae17878491e0835cc2247a2c675273)

|                    |   |
| ------------------ | - |
| Enumerator         |   |
| BOOT\_MODE\_NA     |   |
| BOOT\_MODE\_FLASH  |   |
| BOOT\_MODE\_RESCUE |   |

### FunctionDocumentation <a href="#function-documentation" id="function-documentation"></a>

### Secins\_abort\_poweroff() <a href="#a486e33daf2b62580502df2b71cf781e2" id="a486e33daf2b62580502df2b71cf781e2"></a>

int Secins\_abort\_poweroff

Abort secins's power off.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_add\_cert() <a href="#ab1cc702e8ff3d0fc834ab2a708964cda" id="ab1cc702e8ff3d0fc834ab2a708964cda"></a>

int Secins\_add\_cert

### Secins\_add\_group() <a href="#af161fba2bb154d762f56953c016d8b18" id="af161fba2bb154d762f56953c016d8b18"></a>

int Secins\_add\_group

Add a group

Only a primary user (usr1, usr2, etc) may use this function. The specified gid must be in range assigned to the primary user.

**Parameters**

\[in] **gid** - The group id \[in] **groupname** - Group name (SECINS\_MAX\_GROUPNAME\_LEN chars max).

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_add\_group\_member() <a href="#a6e424f89bd58e3f1fdbd281f6a72b5ae" id="a6e424f89bd58e3f1fdbd281f6a72b5ae"></a>

int Secins\_add\_group\_member

Add user uid to group gid

Only a primary user (usr1, usr2, etc) may use this function. Both the user and group must already exist and must be in the range assigned to the primary user.

**Parameters**

\[in] **gid** - the group id to add to. \[in] **uid** - the user to be added to group gid.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_add\_user() <a href="#a9b8181ee7f45eb83aabd30e05f424ee2" id="a9b8181ee7f45eb83aabd30e05f424ee2"></a>

int Secins\_add\_user

Add a user

Only a primary user (usr1, usr2, etc) may use this function. The specified uid and gid must be in range assigned to the primary user.

**Parameters**

\[in] **uid** - The user id \[in] **username** - User name (SECINS\_MAX\_USERNAME\_LEN chars max). \[in] **gid** - Primary group for this user.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_app\_dev\_convert() <a href="#ae472648b81864dd7d5c9a57512c5cc29" id="ae472648b81864dd7d5c9a57512c5cc29"></a>

int Secins\_app\_dev\_convert

### Secins\_block\_on\_sysmode\_button() <a href="#a6ae2810657e5476c2de12be21b137b99" id="a6ae2810657e5476c2de12be21b137b99"></a>

int Secins\_block\_on\_sysmode\_button

This function will block until sysmode button (physical or 1+5+9) is pressed

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

{% hint style="info" %}
After this call user apps and sysmode will not launch until next sysmode button press
{% endhint %}

### Secins\_chown() <a href="#a395fe914ce27661247235a69e2230666" id="a395fe914ce27661247235a69e2230666"></a>

int Secins\_chown

Change file ownership

Only a primary user (usr1, usr2, etc) may use this function. The target file must be owned by the primary user or one of the users assigned to it. Both the user and group must already exist and must be in the range assigned to the primary user.

**Parameters**

\[in] **path** - pathname \[in] **uid** - the required owner. \[in] **gid** - the required group.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_clear\_last\_error\_info() <a href="#ace612e34da298c6afc1071f02191d93d" id="ace612e34da298c6afc1071f02191d93d"></a>

void Secins\_clear\_last\_error\_info

Clear information about last recorded Secure Installer error.

{% hint style="info" %}
For more detailed information about last recorded Secure Installed error info see [Secins\_get\_last\_error\_info()](#a46a58872a37d3d0386b641b0641a0efe).
{% endhint %}

### Secins\_close\_bdllist() <a href="#a4379fe20e560b3bc5c5831232a2b0168" id="a4379fe20e560b3bc5c5831232a2b0168"></a>

void Secins\_close\_bdllist

Close bundle list, opened by [Secins\_read\_bdllist\_entry()](#af84ffc300e16de14c0378153b591ae19)

{% hint style="info" %}
This need only be called in the event of [Secins\_read\_bdllist\_entry()](#af84ffc300e16de14c0378153b591ae19) not being called repeatedly until NULL is returned e.g. if the while loop in the example in the previous section was terminated prematurely.
{% endhint %}

### Secins\_close\_pkglist() <a href="#a8f9b9f6008428845addda4447ad1bcf3" id="a8f9b9f6008428845addda4447ad1bcf3"></a>

void Secins\_close\_pkglist

Close package list, opened by [Secins\_read\_pkglist\_entry()](#abfc7f37a7096f62cfa8b1a25aff5d0a2)

{% hint style="info" %}
This need only be called in the event of [Secins\_read\_pkglist\_entry()](#abfc7f37a7096f62cfa8b1a25aff5d0a2) not being called repeatedly until NULL is returned e.g. if the while loop in the example in the previous section was terminated prematurely.
{% endhint %}

### Secins\_config\_file\_share\_gid() <a href="#a889f86e327c45cc878c43ae0a03a0a1c" id="a889f86e327c45cc878c43ae0a03a0a1c"></a>

gid\_t Secins\_config\_file\_share\_gid

Returns the system share group id for the specified configfile.

For config.usr1 ..., config.usr16 the system share group id as described previously is returned. For other config files, the current effective group id is returned.

**Parameters**

\[in] **configfile** - Configuration file (config.usr1, config.usr2, config.sys1, config.network ...)

#### Returns

Group ID or -1 on error

### Secins\_daemon\_action() <a href="#a44926927c650603ab603acfea2dd41d5" id="a44926927c650603ab603acfea2dd41d5"></a>

int Secins\_daemon\_action

Request action on daemon (start, stop, etc.) This API must not be used by applications directly.

**Parameters**

\[in] **daemonstr** - Daemon name \[in] **action** - one of the actions SECINS\_DAEMON\_XXX (START/STOP/...)

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_delete\_all\_users() <a href="#af97a9ad9bc072789429068adfc9eb8ec" id="af97a9ad9bc072789429068adfc9eb8ec"></a>

int Secins\_delete\_all\_users

Delete all Users(usr1 .. usr16), user VCL, VSS nad IPP keys Can be used

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

{% hint style="info" %}
Allowed to be used only by sys4(sysmode)
{% endhint %}

### Secins\_disable\_sysmode() <a href="#a958c7c1e04f5968d29083034d6bec613" id="a958c7c1e04f5968d29083034d6bec613"></a>

int Secins\_disable\_sysmode

Disables the sysmode stimulus (i.e. the 1-5-9 keypress combo or recessed button on some devices). Prevents launching of sysmode.

{% hint style="info" %}
Sysmode is enabled by default. If disabled using this API it will revert to enabled after a reboot.
{% endhint %}

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_echo\_test() <a href="#a26113450be528c814f90e4b98b0e5201" id="a26113450be528c814f90e4b98b0e5201"></a>

int Secins\_echo\_test

Send test string `str` and get it back in `echostr`

**Parameters**

\[out] **echostr** - Responce buffer, should be big enough to hold str \[in] **size** - Size of echostr \[in] **str** - Arbitrary test string

#### Returns

0 if passed test or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_enable\_sysmode() <a href="#a30485e2019443659776c96c982ca856b" id="a30485e2019443659776c96c982ca856b"></a>

int Secins\_enable\_sysmode

Enables the sysmode stimulus (i.e. the 1-5-9 keypress combo or recessed button on some devices). Allows launching of sysmode

{% hint style="info" %}
This is the default mode of operation.
{% endhint %}

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_exec\_app\_uid() <a href="#aa5bcaa4ffdd18bb3db236bb1a10e9654" id="aa5bcaa4ffdd18bb3db236bb1a10e9654"></a>

int Secins\_exec\_app\_uid

Start an application, with specified uid and gid.

{% hint style="info" %}
Same as [Secins\_start\_app\_uid()](#ab62aa35fb05ad26cc86cf30eb6dc4ecb) except that the application to be started is specified in argv form.
{% endhint %}

Only a primary user (usr1, usr2, etc) may use this function. The specified user and group must exist and must be in range assigned to the primary user. The executable file specified in argp\[0] must be owned by the primary user. envp may be NULL if no environment strings required. Not all environment variables are allowed to be passed by users - they are filtered internally by whitelist and blacklist before execution and reset accordingly if required, see Secins [Appendix I: Install API guidelines](/s-adk-5.1-programmers-guide/readme/system_overview/pg_all_components/pg_vos_secins_guide.md#secins_appendix_i)

**Parameters**

\[out] **app\_pid** - the process id of the application. \[in] **argp** - array of argument strings, terminated by NULL ptr. \[in] **envp** - array of environment strings, terminated by NULL ptr. \[in] **uid** - the app runs with this user id. \[in] **gid** - the app runs with this group id.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_ExecuteToken() <a href="#a88ee277f47a6f879fa5d0a050557e91b" id="a88ee277f47a6f879fa5d0a050557e91b"></a>

int Secins\_ExecuteToken

### Secins\_format\_card() <a href="#a1448d90f5eb49052e5133f7af5de3dfe" id="a1448d90f5eb49052e5133f7af5de3dfe"></a>

int Secins\_format\_card

Format card

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_free\_resources\_install\_software() <a href="#a23886aa4f4ff18d9e1b6fd3465094214" id="a23886aa4f4ff18d9e1b6fd3465094214"></a>

int Secins\_free\_resources\_install\_software

Installs packages from the filepath passed in the function

{% hint style="info" %}
Expect that the caller of this API is killed during installation. Depending on what action is needed (reboot or restart apps) to extract the pkgs into the filesystem, SI will do the needful. The caller upon reboot/restart should call the new status API to find out the status of the installation.
{% endhint %}

{% hint style="warning" %}
This API is deprecated and has been superseded by [Secins\_install\_software\_extended()](#ad7c7b0255776c882740e418ded8109d4).
{% endhint %}

\*\*Parameters\*\*

\[in] **\*dlfilepath** - full path of the dl file to be installed.caller could place the dl file in their falsh or

* in the usual location of /mnt/flash/install/dl.

**Parameters**

\[in] **inflags** - flags for installation.send a bit-mapped integer. Values allowedSECINS\_FORCE\_INSTALLSECINS\_FORCE\_RESTART\_APPSSECINS\_FORCE\_REBOOT

{% hint style="info" %}
It is recommended to set the inflags to ensure install process is started as soon as this API is called.
{% endhint %}

#### Returns

One of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on initial failure before starting the apps. or nothing as the caller is killed and restarted.

### Secins\_get\_dev\_mode() <a href="#aae45e04a35e93667addc45c7fd8c67a3" id="aae45e04a35e93667addc45c7fd8c67a3"></a>

int Secins\_get\_dev\_mode

Check if development mode is enabled

**Parameters**

\[out] **dev\_mode** - Set to 1 if enabled, 0 otherwise

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_get\_device\_mode\_info() <a href="#a4a2307128de3aa5bf112596cc18f3be3" id="a4a2307128de3aa5bf112596cc18f3be3"></a>

int Secins\_get\_device\_mode\_info

Get Device run mode information.

**Parameters**

\[out] **device\_mode\_info** - Structure to receive the device info.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

{% hint style="info" %}
The Device run mode refers to whether the device is running in Manufacturing, Production, OS Devlopment, or App Development mode. info->curr\_device\_mode identifies the current run mode. info->hw\_device\_mode is the mode that the h/w indicates the device should run in (via the OTP registers, SVID, etc.). Normally curr\_device\_mode and hw\_device\_mode will be the same but it is possible for a device to run in a mode other than that indicated by the h/w. For example, a Development device may be configured to run in Production mode for test purposes. So hw\_device\_mode tells you what type of Device you have and curr\_device\_mode tells you what mode you are running in.
{% endhint %}

### Secins\_get\_install\_status() <a href="#a07ba520e78266f339ad94f0b4e8f71af" id="a07ba520e78266f339ad94f0b4e8f71af"></a>

int Secins\_get\_install\_status

Get JSON formatted list of install status for the install API [Secins\_free\_resources\_install\_software()](#a23886aa4f4ff18d9e1b6fd3465094214)

**Parameters**

\[out] **json\_str\_buf** - Pointer to JSON string. \*json\_str\_buf must be initialised to NULL and freed by the caller. Strings 'dlname', 'error\_msg' and integer 'error\_num' can be obtained from \*json\_str.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_get\_json\_lowlayer\_digests() <a href="#ae10c6cdf98b54352904f7e397975a117" id="ae10c6cdf98b54352904f7e397975a117"></a>

int Secins\_get\_json\_lowlayer\_digests

Get JSON formatted list of Lowlayer SHA256 Digests

**Parameters**

\[out] **json\_str\_buf** - Pointer to JSON string. \*json\_str\_buf must be initialised to NULL and freed by the caller.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_get\_last\_error\_info() <a href="#a46a58872a37d3d0386b641b0641a0efe" id="a46a58872a37d3d0386b641b0641a0efe"></a>

void Secins\_get\_last\_error\_info

Get additional information about last recorded error.

Last error information is stored on a libsecins level, so it is unique for every libsecins library user. This information is updated on every Secure Installer call that ended with error (error code != 0). Last error information can be manually cleared with [Secins\_clear\_last\_error\_info()](#ace612e34da298c6afc1071f02191d93d).

### Secins\_get\_reboot\_hours() <a href="#af1183b83d90a1c279f5dedc1290e0f94" id="af1183b83d90a1c279f5dedc1290e0f94"></a>

int Secins\_get\_reboot\_hours

Return total hours configured between resets

**Parameters**

\[out] **hours** - totals hours \[in] **rpc\_timeout** - rpc timeout in seconds (default is 30s, it's probably too much for sysmode if rpc stucks)

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_get\_secondary\_share\_group() <a href="#a007ec19ea8f8b86bf24451a6fe65dde6" id="a007ec19ea8f8b86bf24451a6fe65dde6"></a>

int Secins\_get\_secondary\_share\_group

Returns the group name of the group created by the secure installer to allow sharing between the primary user and its secondary users.

**Parameters**

\[out] **groupname** - buffer where to store group name \[in] **namesize** - sizeof groupname

#### Returns

Group ID on success, -1 on error

### Secins\_get\_slp\_tainted\_status() <a href="#a05fe3eb06b26636eceb024a608813ff0" id="a05fe3eb06b26636eceb024a608813ff0"></a>

int Secins\_get\_slp\_tainted\_status

Get Device Software Licensing and Protection (SLP) tainted status

**Parameters**

\[in,out] **tainted** - Pointer to int. 1 - SLP tainted (corrupt) 0 - SLP OK

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_get\_uid\_gid\_range() <a href="#a36363f0108aac4188f6e42a3a53a8927" id="a36363f0108aac4188f6e42a3a53a8927"></a>

int Secins\_get\_uid\_gid\_range

Get the range of users and groups assigned to a primary user.

All uids/gids in the API's that follow must be in the range returned here.

**Parameters**

\[out] **range** - UID\_GID\_RANGE data structure containing the uid/gid range \[in] **rangesize** - Size of the UID\_GID\_RANGE structure.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_hmac\_check() <a href="#a65545c49455073c5c16561ba65cbea6e" id="a65545c49455073c5c16561ba65cbea6e"></a>

int Secins\_hmac\_check

Performs the HMAC selftest on demand.

{% hint style="warning" %}
This API is deprecated on Raptor
{% endhint %}

{% hint style="info" %}
This is the selftest that runs automatically every 24 hours.
{% endhint %}

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_hmac\_sha256() <a href="#a6470d398e01e54921b8b3cc26da1986b" id="a6470d398e01e54921b8b3cc26da1986b"></a>

int Secins\_hmac\_sha256

This function performs a HMAC-SHA256 over a portion of the firmware. The hmac returned can be used to verify that the firmware has not been compromised. This function uses the file '/etc/hmac.cfg', which is part of the 'secins' install package, to determine what should be included in the HMAC calculation. Use Secure Installer Reference for more information.

**Parameters**

\[in] **hash** - Addr Hahs buffer result \[in,out] **hash\_size** - Hahs buffer size \[in] **keyin** - Addr key buffer \[in] **keyinsz** - key buffer size \[in] **mode** - ignored. Exists for app compatibility with Verix (or future options)

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_install\_json\_tr34\_key\_payload() <a href="#a9874ab67d5f61e6532ecfe74e22f1404" id="a9874ab67d5f61e6532ecfe74e22f1404"></a>

int Secins\_install\_json\_tr34\_key\_payload

This function performs key injection from TR-34 JSON Key Payload.

**Parameters**

\[in] **\*json\_str** input string with TR-34 JSON Key Payload

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_install\_pkgs() <a href="#ab22e1263e3e1df4a0ceda15df8b2403c" id="ab22e1263e3e1df4a0ceda15df8b2403c"></a>

int Secins\_install\_pkgs

Installs packages from download files downloaded to /mnt/flash/install/dl

{% hint style="warning" %}
This API is deprecated and has been superseded by [Secins\_install\_software\_extended()](#ad7c7b0255776c882740e418ded8109d4).
{% endhint %}

\*\*Parameters\*\*

\[out] **\*reboot\_reqd** - if not NULL, the secure installer will set \*reboot\_reqd to 1 if a reboot is required after installation is complete (e.g. if an OS package has been installed), otherwise it will set it to 0.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_install\_software() <a href="#ad2df45f1e3ec9292e8c49447db36d4f8" id="ad2df45f1e3ec9292e8c49447db36d4f8"></a>

int Secins\_install\_software

Installs packages from download files downloaded to /mnt/flash/install/dl

{% hint style="warning" %}
This API is deprecated and has been superseded by [Secins\_install\_software\_extended()](#ad7c7b0255776c882740e418ded8109d4).
{% endhint %}

\*\*Parameters\*\*

\[out] **\*outflags** - returns a bit-mapped integer. Possible values:SECINS\_REBOOT\_REQD\_BIT,SECINS\_RESTART\_APPS\_REQD\_BIT \[in] **inflags** - not used and should be set to 0.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_install\_software\_extended() <a href="#ad7c7b0255776c882740e418ded8109d4" id="ad7c7b0255776c882740e418ded8109d4"></a>

int Secins\_install\_software\_extended

Installs one or more dlfiles from the filepath list passed to the function

{% hint style="info" %}
This allows to install dlfiles without having to copy the dlfile in ram. This API consumes less resources and is therefore recommended over other installation APIs.
{% endhint %}

If dlfile is located in:

* "flash" filesystem (Recommended), it will be extracted 'in-place' (ie. progressively consumed till deleted).
* '/mnt/flash/install/dl' (legacy), it will be extracted then deleted
* any other places, it will be extracted

To free resources during installation - SIGTERM will be sent to user applications and non-crucial system applications. SIGKILL will be sent to the apps after a timeout. If reboot/restart is required to finish installation, it will be performed. The caller upon reboot/restart should call the new status API to find out the status of the installation. When providing several dlfiles, SI guarantees reliable rollback only for the first dlfile install failure.

**Parameters**

\[in] **\*\*dlfilepaths** - pointer to a list of dlfile full paths to be installed Recommendation: store dlfiles in flash storage \[in] **nbdlfiles** - number of dlfile paths in the dlfilepaths list \[in] **inflags** - flags for installation: bit-mapped integer.send a bit-mapped integer. Values allowedSECINS\_FORCE\_INSTALLSECINS\_FORCE\_RESTART\_APPSSECINS\_FORCE\_REBOOT

#### Returns

One of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on initial failure before starting the apps. or nothing as the caller is killed and restarted.

### Secins\_kill\_app\_pid() <a href="#af83b59ae7e076c833b903ead3a8f6183" id="af83b59ae7e076c833b903ead3a8f6183"></a>

int Secins\_kill\_app\_pid

Send signal to usr/sys application by pid Same access rights as [Secins\_start\_app\_argv()](#aaa053c1659b4f8721507f2055b61f357)

**Parameters**

\[in] **app\_pid** - application PID \[in] **sig** - signal to send 0 - check if application is alive >0 - signal id \[out] **status** - application's status (optional, could be NULL) 1 - application alive/killed 0 - application dead/allready terminated (double termination attempt)

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_match\_pkg\_user() <a href="#ac7ee77db3d707f1d31ec1a39db03bedc" id="ac7ee77db3d707f1d31ec1a39db03bedc"></a>

int Secins\_match\_pkg\_user

Check if dlfile has only packages of specified user

{% hint style="info" %}
This allows to ensure that dlfile packages belong to specified user. This API does not extract specified dlfile to any disk.
{% endhint %}

\*\*Parameters\*\*

\[in] **\*path** - dlfile full path \[in] **username** - name of the user to check

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_poweroff() <a href="#a90d40a2614de1822c22afd726ca9d9ad" id="a90d40a2614de1822c22afd726ca9d9ad"></a>

int Secins\_poweroff

Power off the device. SIGTERM is first sent to all user processes, followed by SIGKILL

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_precheck\_software() <a href="#aa47cbda95765f4b71b848ea05edfa3ea" id="aa47cbda95765f4b71b848ea05edfa3ea"></a>

int Secins\_precheck\_software

Pre-checks one or more dlfiles from the filepath list passed to the function

{% hint style="info" %}
This allows to perform a pre-check before launching an installation and give an advice on whether a reboot or restart applications will be performed when installation is started. However note that the complete checking of the dlfile will only be performed at installation.
{% endhint %}

Each dlfile is checked for:

* dl file valid archive
* contained bundles are valid archives and their signatures verified

This API does not extract dlfiles to any disk and performs the above checks on the fly in memory. This API timeout is 180 seconds. If pre-check is not finalized until then - error is returned.

**Parameters**

\[in] **\*\*dlfilepaths** - pointer to a list of dlfile full paths to be pre-checked \[in] **nbdlfiles** - number of dlfile paths in the dlfilepaths list \[out] **\*outflags** - returns a bit-mapped integer. Possible values:SECINS\_REBOOT\_REQD\_BIT,SECINS\_RESTART\_APPS\_REQD\_BIT \[in] **inflags** - not used and should be set to 0.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_read\_bdllist\_entry() <a href="#af84ffc300e16de14c0378153b591ae19" id="af84ffc300e16de14c0378153b591ae19"></a>

SecinsBdlInfo\\\* Secins\_read\_bdllist\_entry

Called recursively to retrieve the list of installed bundles

Example: The following function will print the installed bundle information

```cpp
static void print_bundlelist(void)
{
   SecinsBdlInfo bdlinfo;
   while (Secins_read_bdllist_entry(&bdlinfo, sizeof bdlinfo))
   {
   fprintf(stderr,
   "%s %s %s %s %s %s\n",
   bdlinfo.name,
   bdlinfo.version,
   bdlinfo.user,
   bdlinfo.category,
   *bdlinfo.date != 0 ? bdlinfo.date : “-”,
   *bdlinfo.option != 0 ? bdlinfo.option : “-”);
   }
}
```

**Parameters**

\[out] **bdlinfo** - SecinsBdlInfo data structure containing package information \[in] **bdlinfosize** - Sizeof SecinsBdlInfo

#### Returns

Struct SecinsBdlInfo - Bundle informtion

* NULL no more entries are available.

### Secins\_read\_pkglist\_entry() <a href="#abfc7f37a7096f62cfa8b1a25aff5d0a2" id="abfc7f37a7096f62cfa8b1a25aff5d0a2"></a>

SecinsPkgInfo\\\* Secins\_read\_pkglist\_entry

Called recursively to retrieve the list of installed packages

Example: The following function will print the installed package versions.

```cpp
static void print_pkg_versions(void)
{
   SecinsPkgInfo pkginfo;
   // Ensure we’re starting from the beginning of the list.
   Secins_close_pkglist();
   fprintf(stderr, "Package Versions\n");
   while (Secins_read_pkglist_entry(&pkginfo, sizeof pkginfo) != NULL)
   {
   fprintf(stderr,
   "%s %s %s %s %s %s %s %s\n",
   pkginfo.signer,
   pkginfo.user,
   pkginfo.name,
   pkginfo.version,
   pkginfo.type,
   pkginfo.bundlename,
   pkginfo.bundleversion,
   *pkginfo.bundledate ? pkginfo.bundledate : “-”);
   }
}
```

**Parameters**

\[out] **pkginfo** - SecinsPkgInfo data structure containing package information \[in] **pkginfosize** - sizeof SecinsPkgInfo

#### Returns

Struct SecinsPkgInfo - package informtion

* NULL no more entries are available.

### Secins\_reboot() <a href="#a8c9cab222b6e2d86124746b4a43ed40f" id="a8c9cab222b6e2d86124746b4a43ed40f"></a>

int Secins\_reboot

Reboot the device. This call first send SIGTERM to all user processes, followed by SIGKILL

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_reboot\_to\_mode() <a href="#a7c835aea16d1ba6637294fe4fd893021" id="a7c835aea16d1ba6637294fe4fd893021"></a>

int Secins\_reboot\_to\_mode

Reboot device into special mode

{% hint style="info" %}
Only root and sys (sys1, sys2, etc) may use this function.
{% endhint %}

\*\*Parameters\*\*

\[in] **mode** - Target boot mode. ( allowed values boot\_modes ).

#### Returns

no return on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_remove\_bdl\_entry() <a href="#ad45855d3874030414358ae1c4cb92208" id="ad45855d3874030414358ae1c4cb92208"></a>

int Secins\_remove\_bdl\_entry

Removes the bundle specified in bdlinfo from the system.

The 'name' and 'user' fields must be supplied in bdlinfo, while the 'version' field is optional. If 'version' is specified then the bundle will only be removed if the installed version matches.

{% hint style="warning" %}
This API may only be used by system signed applications.
{% endhint %}

\*\*Parameters\*\*

\[in] **bdlinfo** - specified bundle info

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_remove\_file\_bundle() <a href="#a1fd4d7ecf423ff6a6e0e6c9d61ef2ae7" id="a1fd4d7ecf423ff6a6e0e6c9d61ef2ae7"></a>

int Secins\_remove\_file\_bundle

Can be called by a user application to remove the bundle containing the specified 'file'.

{% hint style="info" %}
An application may remove itself by specifying argv0 as the first argument file.
{% endhint %}

\*\*Parameters\*\*

\[in] **file** - file from bundle. 'file' must be owned by the caller. Only bundles for the calling user will be searched. \[in] **pkgtype** - package type. May be NULL, but if specified (i.e. "user", "userflash", etc., only pkgs of that type will be searched. So if the same file name exists in two different packages (e.g. in DRAM/securefs for a 'user' package and in flash for a 'userflash', only the specified type will be searched. If 'pkgtype' is NULL, the first package found that contains the specified file will be removed.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_remove\_group() <a href="#a348cfeb2628c2468922fc4ec4b05b913" id="a348cfeb2628c2468922fc4ec4b05b913"></a>

int Secins\_remove\_group

Remove a group.

Only a primary user (usr1, usr2, etc) may use this function. The specified group must exist and must be in range assigned to the primary user.

**Parameters**

\[in] **gid** - the group id.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_remove\_user() <a href="#adbda522c88bf1c2978d1819b9296c86a" id="adbda522c88bf1c2978d1819b9296c86a"></a>

int Secins\_remove\_user

Remove a user.

Only a primary user (usr1, usr2, etc) may use this function. The specified user must exist and must be in range assigned to the primary user.

**Parameters**

\[in] **uid** - the user id.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_remove\_user\_bundle() <a href="#a353d4991f8c12982269b62ff0d6e47c2" id="a353d4991f8c12982269b62ff0d6e47c2"></a>

int Secins\_remove\_user\_bundle

Removes the bundle 'bundlename'.

{% hint style="info" %}
The calling user may only remove one of its own bundles.
{% endhint %}

\*\*Parameters\*\*

\[in] **bundlename** - bundle name

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_removeall\_user() <a href="#a30edd404ca74f750c4774cffa07f4b99" id="a30edd404ca74f750c4774cffa07f4b99"></a>

int Secins\_removeall\_user

Can be called by a user application to remove all installed bundles/packages for that user i.e. the application removes itself completely.

{% hint style="info" %}
This can be used when a run-once type application is required.
{% endhint %}

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_secondary\_share\_gid() <a href="#ac635ef53cedba52e7685710fa8707d05" id="ac635ef53cedba52e7685710fa8707d05"></a>

int Secins\_secondary\_share\_gid

Returns the gid of the group created by the secure installer to allow sharing between the primary user and its secondary users i.e. The primary group and all the secondary users it creates are members of this group.

#### Returns

Group ID on success, -1 on error

### Secins\_share\_gid() <a href="#afc2c7d5ca0cab80fdd77679760f13ab2" id="afc2c7d5ca0cab80fdd77679760f13ab2"></a>

gid\_t Secins\_share\_gid

#### Returns

The group id for the 'share' group, of which all users on the system are a member.

### Secins\_signal\_app() <a href="#a9b934e80fb5530116ad7a328b2274093" id="a9b934e80fb5530116ad7a328b2274093"></a>

int Secins\_signal\_app

Send the signal sig to the process pid

The primary user may signal processes running as any of the users assigned to it. Other users may only signal the primary user.

{% hint style="info" %}
This API now has uses outside of the MagIC project. Users usr1 .. usr16 may use this API to signal each other. System applications may use this API to signal all other processes but may not send the non-maskable SIGKILL.
{% endhint %}

\*\*Parameters\*\*

\[in] **pid** - the process id. \[in] **sig** - Signal to send.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_start\_app() <a href="#aff43d7afca83632f60da8780edf47d5e" id="aff43d7afca83632f60da8780edf47d5e"></a>

int Secins\_start\_app

Start user application.

To be used by a user application to start another user application.

**Parameters**

\[in] **file** - Executable to be started

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_start\_app\_argv() <a href="#aaa053c1659b4f8721507f2055b61f357" id="aaa053c1659b4f8721507f2055b61f357"></a>

int Secins\_start\_app\_argv

Start usr/sys application

To be used by a user application to start another user application. SYS users can start any USR and SYS application. USR user can start only same USR applications (e.g. SYS4, can start: SYS4, USR1, USR2 ... . USR3 only USR3). Application path should be specified in argp\[0]. Not all environment variables are allowed to be passed by users - they are filtered internally by whitelist and blacklist before execution and reset accordingly if required, see Secins [Appendix I: Install API guidelines](/s-adk-5.1-programmers-guide/readme/system_overview/pg_all_components/pg_vos_secins_guide.md#secins_appendix_i)

Preliminary: MT-Unsafe

**Parameters**

\[out] **app\_pid** - (Optional) PID of application \[in] **argp** - array of argument strings, terminated by NULL ptr \[in] **envp** - array of environment strings, terminated by NULL ptr \[in] **cb** - (Optional) callback triggered upon application termination \[in] **arg** - (Optional) pass an argument to callback

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_start\_app\_uid() <a href="#ab62aa35fb05ad26cc86cf30eb6dc4ecb" id="ab62aa35fb05ad26cc86cf30eb6dc4ecb"></a>

int Secins\_start\_app\_uid

Start an application (cmdline), with specified uid and gid.

Only a primary user (usr1, usr2, etc) may use this function. The specified user and group must exist and must be in range assigned to the primary user. The executable file specified in cmdline must be owned by the primary user.

**Parameters**

\[out] **app\_pid** - the process id of the application. \[in] **cmdline** - the command line to use to start the application. \[in] **uid** - the app runs with this user id. \[in] **gid** - the app runs with this group id.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes on error.

### Secins\_start\_sysmode() <a href="#ac2e5e23c1ee49cc47f134ccad32a3f49" id="ac2e5e23c1ee49cc47f134ccad32a3f49"></a>

int Secins\_start\_sysmode

Starts sysmode.

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

{% hint style="info" %}
all user app processes (usr1 ... usr16) will be stopped before sysmode is started
{% endhint %}

### Secins\_start\_user\_apps() <a href="#a8a3ac50ee6b0a1094961c67fd2ee174f" id="a8a3ac50ee6b0a1094961c67fd2ee174f"></a>

int Secins\_start\_user\_apps

Start user applications (used by sysmode).

Will kill sysmode (sys4) processes before starting the usr1 -- usr16 processes (remember that usr1 ... usr16 processes are killed when sysmode starts).

{% hint style="info" %}
This also re-generates the user home accounts (for usr1 .. usr16) from the installed user packages, so after installing package updates, this API must be called before those updates will take effect (assuming a reboot is not performed instead).
{% endhint %}

#### Returns

0 on success or one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes otherwise

### Secins\_strerror() <a href="#a90394d9a793c9df4e397f7a31098cb9d" id="a90394d9a793c9df4e397f7a31098cb9d"></a>

const char\\\* Secins\_strerror

Returns a pointer to the error message associated with one of the [ERROR\_SECINS](#a8974d44415d205e35f1b9a3c3e6a1700) error codes

**Parameters**

\[in] **err** - one of the ERROR\_SECINS error codes

#### Returns

Error message string

### Secins\_sys\_app() <a href="#a684c05856f208275ae9a6ad7b063a161" id="a684c05856f208275ae9a6ad7b063a161"></a>

unsigned int Secins\_sys\_app

Check if the caller is a system app.

#### Returns

\[unsupported block]

### Secins\_sysmode\_share\_gid() <a href="#ae4ab6ad22a5aacf4e8ecc74598ee63da" id="ae4ab6ad22a5aacf4e8ecc74598ee63da"></a>

gid\_t Secins\_sysmode\_share\_gid

Same as [Secins\_usrsys\_gid()](#ade8bab2a01800d3b6fc09c8eec21971c), except it returns the system share group id for the calling user (usr1 ... usr16).

For users other than usr1 ... usr16, the current effective group id is returned.

{% hint style="info" %}
This group was originally for sharing with the sysmode user but now includes all system users
{% endhint %}

#### Returns

Group ID or -1 on error

### Secins\_system\_gid() <a href="#a506810a5bbdaea2cc8781a5f600b6dfe" id="a506810a5bbdaea2cc8781a5f600b6dfe"></a>

gid\_t Secins\_system\_gid

#### Returns

Returns the group id for the 'system' group, of which all system application users are a member.

### Secins\_user\_app() <a href="#ae9341d1ed5ddb4221f87d904ab48373b" id="ae9341d1ed5ddb4221f87d904ab48373b"></a>

unsigned int Secins\_user\_app

Check if the caller is an user app.

#### Returns

\[unsupported block]

### Secins\_users\_gid() <a href="#a85b782bcebe6e5663cb01f477f6689d8" id="a85b782bcebe6e5663cb01f477f6689d8"></a>

gid\_t Secins\_users\_gid

#### Returns

Returns the group id for the 'users' group, of which all application users (i.e. usr1, usr2, ..., usr16) are a member.

### Secins\_usrsys\_gid() <a href="#ade8bab2a01800d3b6fc09c8eec21971c" id="ade8bab2a01800d3b6fc09c8eec21971c"></a>

gid\_t Secins\_usrsys\_gid

Returns the system share group id for the specified user (usr1 ... usr16).

#### Returns

Group ID or -1 on error


---

# 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/s-adk-5.1-programmers-guide/readme/files/dir_96abbd8654eb9deb39a2a49faed8dd31/libsecins_8h.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.
