vitasdk
Documentation of the vitasdk
ssmgr.h
Go to the documentation of this file.
1
6#ifndef _PSP2KERN_KERNEL_SSMGR_H_
7#define _PSP2KERN_KERNEL_SSMGR_H_
8
10#include <psp2kern/types.h>
11#include <psp2common/sblssmgr.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
20
22
23int ksceSblDmac5AesCbcDec(const void *src, void *dst, int size, const void *key, int key_size, void *iv, int mask_enable);
24int ksceSblDmac5AesCbcEnc(const void *src, void *dst, int size, const void *key, int key_size, void *iv, int mask_enable);
25int ksceSblDmac5AesCtrDec(const void *src, void *dst, int size, const void *key, int key_size, void *iv, int mask_enable);
26
27#define ksceSblSsMgrAesCtrDecrypt ksceSblDmac5AesCtrDec
28
30
42
51
67int ksceSblDmac5AesCbcDecNP(const void *src, void *dst, SceSize size, const void *key, SceSize key_length, void *iv, SceUInt32 key_id, SceBool mask_enable);
68
75int ksceSblDmac5AesCbcEncNP(const void *src, void *dst, SceSize size, const void *key, SceSize key_length, void *iv, SceUInt32 key_id, SceBool mask_enable);
76
93int ksceSblDmac5AesCmacNP(const void *src, void *dst, SceSize length, const void *key, SceSize keysize, SceSblDmac5AesCmacContext *ctx, SceUInt32 key_id, SceBool mask_enable, SceUInt32 flags);
94
109int ksceSblDmac5AesCmacWithKeyslot(const void *src, void *dst, SceSize size, SceUInt32 keyslot, SceSize key_length, SceSblDmac5AesCmacContext *ctx, SceBool mask_enable, SceUInt32 flags);
110
124int ksceSblDmac5AesCtrEnc(const void *src, void *dst, SceSize size, const void *key, SceSize key_length, void *iv, SceBool mask_enable);
125
138int ksceSblDmac5AesEcbDec(const void *src, void *dst, SceSize size, const void *key, SceSize key_length, SceBool mask_enable);
139
154int ksceSblDmac5AesEcbDecNP(const void *src, void *dst, SceSize size, const void *key, SceSize key_length, SceUInt32 key_id, SceBool mask_enable);
155
164int ksceSblDmac5AesEcbDecWithKeyslot(const void *src, void *dst, SceSize size, SceUInt32 keyslot, SceSize key_length, SceBool mask_enable);
165
167int ksceSblDmac5AesEcbEnc(const void *src, void *dst, SceSize size, const void *key, SceSize key_length, SceBool mask_enable);
168
170int ksceSblDmac5AesEcbEncNP(const void *src, void *dst, SceSize size, const void *key, SceSize key_length, SceUInt32 key_id, SceBool mask_enable);
171
177int ksceSblDmac5AesEcbEncWithKeyslot(const void *src, void *dst, SceSize size, SceUInt32 keyslot, SceSize key_length, SceBool mask_enable);
178
185int ksceSblDmac5DesCbcDecWithKeyslot(const void *src, void *dst, SceSize size, SceUInt32 keyslot, SceSize key_length, void *iv, SceBool mask_enable);
186
188int ksceSblDmac5DesCbcEncWithKeyslot(const void *src, void *dst, SceSize size, SceUInt32 keyslot, SceSize key_length, void *iv, SceBool mask_enable);
189
191int ksceSblDmac5DesEcbDecWithKeyslot(const void *src, void *dst, SceSize size, SceUInt32 keyslot, SceSize key_length, SceBool mask_enable);
192
194int ksceSblDmac5DesEcbEncWithKeyslot(const void *src, void *dst, SceSize size, SceUInt32 keyslot, SceSize key_length, SceBool mask_enable);
195
205int ksceSblDmac5Rnd(void *output_buffer, SceSize size, SceBool mask_enable);
206
219int ksceSblDmac5Sha1(const void *src, void *dst, SceSize length, SceSblDmac5HashTransformContext *ctx, SceBool mask_enable, SceUInt32 flags);
220
230int ksceSblDmac5Sha1HmacNP(const void *src, void *dst, SceSize length, const void *key, SceSblDmac5HashTransformContext *ctx, SceUInt32 key_id, SceBool mask_enable, SceUInt32 flags);
231
235int ksceSblDmac5Sha1HmacTransform(const void *src, void *dst, SceSize length, const void *key, SceSblDmac5HashTransformContext *ctx, SceBool mask_enable, SceUInt32 flags);
236
242int ksceSblDmac5Sha256Hmac(const void *src, void *dst, SceSize length, const void *key, SceSblDmac5HashTransformContext *ctx, SceBool mask_enable, SceUInt32 flags);
243
254
265
274
287
290
293
296
299
302
305
308
311
314
317
320
329
342int ksceSblSsCreatePassPhrase(const SceSblSsCreatePassPhraseParam *param, void *pass_phrase);
343
362SceInt32 ksceSblSsEncryptWithPortability(SceUInt32 key_type, const void *iv, const ScePortabilityData *plain_msg, ScePortabilityData *enc_msg);
363
377
387void *ksceSblSsMemset(void *dest, int value, SceSize size);
388
403int ksceSblSsMgrExecuteDmac5HashCommand(const void *src, void *dst, SceSize size, void *ctx, SceBool mask_enable, SceUInt32 command, SceUInt32 flags);
404
418
419#ifdef __cplusplus
420}
421#endif
422
423#endif /* _PSP2KERN_KERNEL_SSMGR_H_ */
void * buffer
Definition bt.h:6
uint32_t length
Definition bt.h:7
ScePsCode pscode
Definition kbl.h:18
int flags
Event flags.
Definition debug.h:3
SceSize size
Definition lsdb.h:11
SceInt32 type
Must be 100 when passed to sceLsdbReplaceTheme on FW 3.60.
Definition lsdb.h:2
SceUInt32 key
FNV-1a hash of the AppInfo key.
Definition lsdb.h:0
int ksceSblSsGetNvsData(SceSblSsNvsDataType type, void *data, SceSize size)
Read the NVS value selected by type.
int ksceSblQafMgrIsAllowRemotePlayDebug(void)
int ksceSblQafMgrIsAllowControlIduAutoUpdate(void)
int ksceSblSsDecryptWithPortability(SceUInt32 key_type, void *iv, ScePortabilityData *src, ScePortabilityData *dst)
int ksceSblDmac5AesCbcDec(const void *src, void *dst, int size, const void *key, int key_size, void *iv, int mask_enable)
int ksceSblDmac5AesCtrDec(const void *src, void *dst, int size, const void *key, int key_size, void *iv, int mask_enable)
int ksceSblAimgrGetOpenPsId(SceOpenPsId *open_psid)
void * ksceSblSsMemset(void *dest, int value, SceSize size)
Fill a memory range and return dest.
int ksceSblDmac5Sha256Hmac(const void *src, void *dst, SceSize length, const void *key, SceSblDmac5HashTransformContext *ctx, SceBool mask_enable, SceUInt32 flags)
Compute or continue a SHA-256 HMAC using a caller-supplied 0x20-byte key.
int ksceSblDmac5Sha1HmacNP(const void *src, void *dst, SceSize length, const void *key, SceSblDmac5HashTransformContext *ctx, SceUInt32 key_id, SceBool mask_enable, SceUInt32 flags)
Compute or continue a SHA-1 HMAC using an AuthMgr-derived 256-bit key.
int ksceSblNvsReadData(SceUInt32 offset, void *buffer, SceSize size)
Read an arbitrary Syscon NVS range in chunks of at most eight bytes.
int ksceSblDmac5AesEcbDecWithKeyslot(const void *src, void *dst, SceSize size, SceUInt32 keyslot, SceSize key_length, SceBool mask_enable)
Decrypt data using AES-ECB and a preloaded DMAC5 key slot.
int ksceSblDmac5DesEcbDecWithKeyslot(const void *src, void *dst, SceSize size, SceUInt32 keyslot, SceSize key_length, SceBool mask_enable)
Decrypt data using DES or 3DES-ECB and a preloaded DMAC5 key slot.
int ksceSblDmac5AesCmacWithKeyslot(const void *src, void *dst, SceSize size, SceUInt32 keyslot, SceSize key_length, SceSblDmac5AesCmacContext *ctx, SceBool mask_enable, SceUInt32 flags)
Compute AES-CMAC using a preloaded DMAC5 key slot.
int ksceSblNvsWriteData(SceUInt32 offset, const void *buffer, SceSize size)
Write an arbitrary Syscon NVS range in chunks of at most eight bytes.
int ksceSblDmac5AesCtrEnc(const void *src, void *dst, SceSize size, const void *key, SceSize key_length, void *iv, SceBool mask_enable)
Encrypt or decrypt data using AES-CTR and a caller-supplied key.
int ksceSblRngGenuineRandomNumber(void *dest)
Generate exactly 0x40 bytes of DMAC5 genuine-random output.
int ksceSblSsCreatePassPhrase(const SceSblSsCreatePassPhraseParam *param, void *pass_phrase)
Create a 0x200-byte CMA pass phrase through aimgr_sm command 5.
int ksceSblDmac5Rnd(void *output_buffer, SceSize size, SceBool mask_enable)
Generate random bytes using DMAC5.
int ksceSblAimgrGetVisibleId(SceVisibleId *visible_id)
Retrieve the 32-byte visible identifier from aimgr_sm.
int ksceSblDmac5AesEcbDec(const void *src, void *dst, SceSize size, const void *key, SceSize key_length, SceBool mask_enable)
Decrypt data using AES-ECB and a caller-supplied key.
int ksceSblDmac5AesCbcDecNP(const void *src, void *dst, SceSize size, const void *key, SceSize key_length, void *iv, SceUInt32 key_id, SceBool mask_enable)
Decrypt data using AES-CBC and an AuthMgr-derived key.
int ksceSblDmac5DesCbcEncWithKeyslot(const void *src, void *dst, SceSize size, SceUInt32 keyslot, SceSize key_length, void *iv, SceBool mask_enable)
Encrypt data using DES or 3DES-CBC and a preloaded DMAC5 key slot.
int ksceSblSsMgrExecuteDmac5HashCommand(const void *src, void *dst, SceSize size, void *ctx, SceBool mask_enable, SceUInt32 command, SceUInt32 flags)
Execute a DMAC5 hash-family command.
int ksceSblQafMgrIsAllowHost0Access(void)
int ksceSblQafMgrIsAllowSystemAppDebug(void)
int ksceSblDmac5DesEcbEncWithKeyslot(const void *src, void *dst, SceSize size, SceUInt32 keyslot, SceSize key_length, SceBool mask_enable)
Encrypt data using DES or 3DES-ECB and a preloaded DMAC5 key slot.
int ksceSblDmac5AesEcbEnc(const void *src, void *dst, SceSize size, const void *key, SceSize key_length, SceBool mask_enable)
Encrypt data using AES-ECB and a caller-supplied key.
SceInt32 ksceSblSsEncryptWithPortability(SceUInt32 key_type, const void *iv, const ScePortabilityData *plain_msg, ScePortabilityData *enc_msg)
Encrypt a portability message.
SceSblSsNvsDataType
NVS values supported by ksceSblSsGetNvsData and ksceSblSsSetNvsData.
Definition sblssmgr.h:70
int ksceSblQafMgrIsAllowMarlinTest(void)
int ksceSblDmac5AesCbcEnc(const void *src, void *dst, int size, const void *key, int key_size, void *iv, int mask_enable)
int ksceSblRngPseudoRandomNumber(void *result, SceSize size)
int ksceSblDmac5Sha1HmacTransform(const void *src, void *dst, SceSize length, const void *key, SceSblDmac5HashTransformContext *ctx, SceBool mask_enable, SceUInt32 flags)
Compute or continue a SHA-1 HMAC using a caller-supplied 0x20-byte key.
int ksceSblQafMgrIsAllowNearTest(void)
int ksceSblAimgrGetPscode2(ScePsCode *ps_code)
Retrieve the secondary platform security code from aimgr_sm.
int ksceSblDmac5Sha1(const void *src, void *dst, SceSize length, SceSblDmac5HashTransformContext *ctx, SceBool mask_enable, SceUInt32 flags)
Compute or continue a SHA-1 digest.
int ksceSblQafManagerGetQAFlags(SceUInt8 buffer[0x10])
Copy the 16 cached QA-flag bytes.
int ksceSblQafManagerGetQafName(char *buffer, SceSize max_len)
Copy the active QAF profile name.
int ksceSblDmac5AesCmacNP(const void *src, void *dst, SceSize length, const void *key, SceSize keysize, SceSblDmac5AesCmacContext *ctx, SceUInt32 key_id, SceBool mask_enable, SceUInt32 flags)
Compute AES-CMAC using an AuthMgr-derived key.
int ksceSblQafMgrIsAllowPSPEmuShowQAInfo(void)
int ksceSblDmac5AesEcbDecNP(const void *src, void *dst, SceSize size, const void *key, SceSize key_length, SceUInt32 key_id, SceBool mask_enable)
Decrypt data using AES-ECB and an AuthMgr-derived key.
int ksceSblSsSetNvsData(SceSblSsNvsDataType type, const void *data, SceSize size)
Write the NVS value selected by type.
int ksceSblDmac5AesCbcEncNP(const void *src, void *dst, SceSize size, const void *key, SceSize key_length, void *iv, SceUInt32 key_id, SceBool mask_enable)
Encrypt data using AES-CBC and an AuthMgr-derived key.
int ksceSblQafMgrIsAllowDecryptedBootConfigLoad(void)
int ksceSblAimgrGetConsoleId(SceConsoleId *cid)
int ksceSblQafMgrIsAllowKeepCoreFile(void)
int ksceSblQafMgrIsAllowLoadMagicGate(void)
int ksceSblDmac5AesEcbEncNP(const void *src, void *dst, SceSize size, const void *key, SceSize key_length, SceUInt32 key_id, SceBool mask_enable)
Encrypt data using AES-ECB and an AuthMgr-derived 128- or 256-bit key.
int ksceSblAimgrGetPscode(ScePsCode *pscode)
int ksceSblDmac5AesEcbEncWithKeyslot(const void *src, void *dst, SceSize size, SceUInt32 keyslot, SceSize key_length, SceBool mask_enable)
Encrypt data using AES-ECB and a preloaded DMAC5 key slot.
int ksceSblDmac5DesCbcDecWithKeyslot(const void *src, void *dst, SceSize size, SceUInt32 keyslot, SceSize key_length, void *iv, SceBool mask_enable)
Decrypt data using DES or 3DES-CBC and a preloaded DMAC5 key slot.
int ksceSblQafMgrIsAllowDtcpIpReset(void)
Sixteen-byte console identifier returned by aimgr_sm command 1.
Definition sblssmgr.h:29
Console-specific 16-byte OpenPSID.
Definition sblssmgr.h:23
Fixed-capacity message used by the portability encryption services.
Definition sblssmgr.h:55
Eight-byte platform security code returned in host byte order.
Definition sblssmgr.h:46
16-byte chaining value used by the AES-CMAC DMAC5 commands.
Definition sblssmgr.h:94
Chaining context used by SHA-1, SHA-224, and SHA-256 DMAC5 commands.
Definition sblssmgr.h:102
Parameters used to create the 0x200-byte CMA account pass phrase.
Definition sblssmgr.h:62
Opaque 32-byte visible identifier returned by aimgr_sm command 8.
Definition sblssmgr.h:17
int SceBool
Definition types.h:59
int32_t SceInt32
Definition types.h:44
unsigned int SceSize
Definition types.h:56
uint32_t SceUInt32
Definition types.h:45
uint8_t SceUInt8
Definition types.h:36