#pragma once // Error Codes enum { // NP Manager Utility SCE_NP_ERROR_NOT_INITIALIZED = 0x8002aa01, SCE_NP_ERROR_ALREADY_INITIALIZED = 0x8002aa02, SCE_NP_ERROR_INVALID_ARGUMENT = 0x8002aa03, SCE_NP_ERROR_OUT_OF_MEMORY = 0x8002aa04, SCE_NP_ERROR_ID_NO_SPACE = 0x8002aa05, SCE_NP_ERROR_ID_NOT_FOUND = 0x8002aa06, SCE_NP_ERROR_SESSION_RUNNING = 0x8002aa07, SCE_NP_ERROR_LOGINID_ALREADY_EXISTS = 0x8002aa08, SCE_NP_ERROR_INVALID_TICKET_SIZE = 0x8002aa09, SCE_NP_ERROR_INVALID_STATE = 0x8002aa0a, SCE_NP_ERROR_ABORTED = 0x8002aa0b, SCE_NP_ERROR_OFFLINE = 0x8002aa0c, SCE_NP_ERROR_VARIANT_ACCOUNT_ID = 0x8002aa0d, SCE_NP_ERROR_GET_CLOCK = 0x8002aa0e, SCE_NP_ERROR_INSUFFICIENT_BUFFER = 0x8002aa0f, SCE_NP_ERROR_EXPIRED_TICKET = 0x8002aa10, SCE_NP_ERROR_TICKET_PARAM_NOT_FOUND = 0x8002aa11, SCE_NP_ERROR_UNSUPPORTED_TICKET_VERSION = 0x8002aa12, SCE_NP_ERROR_TICKET_STATUS_CODE_INVALID = 0x8002aa13, SCE_NP_ERROR_INVALID_TICKET_VERSION = 0x8002aa14, SCE_NP_ERROR_ALREADY_USED = 0x8002aa15, SCE_NP_ERROR_DIFFERENT_USER = 0x8002aa16, SCE_NP_ERROR_ALREADY_DONE = 0x8002aa17, }; // NP Manager Utility: Status enum { SCE_NP_MANAGER_STATUS_OFFLINE = -1, SCE_NP_MANAGER_STATUS_GETTING_TICKET = 0, SCE_NP_MANAGER_STATUS_GETTING_PROFILE = 1, SCE_NP_MANAGER_STATUS_LOGGING_IN = 2, SCE_NP_MANAGER_STATUS_ONLINE = 3, }; enum { SCE_NP_COMMUNICATION_SIGNATURE_SIZE = 160, SCE_NET_NP_COMMUNICATION_PASSPHRASE_SIZE = 128, }; // Structs struct SceNpCommunicationId { char data[9]; char term; u8 num; char dummy; }; struct SceNpCommunicationSignature { uint8_t data[SCE_NP_COMMUNICATION_SIGNATURE_SIZE]; };