mirror of
https://github.com/RPCSX/rpcsx.git
synced 2025-12-06 07:12:14 +01:00
359 lines
9.6 KiB
C
359 lines
9.6 KiB
C
#pragma once
|
|
|
|
// Error Codes
|
|
enum CellSearchError : u32
|
|
{
|
|
CELL_SEARCH_CANCELED = 1,
|
|
CELL_SEARCH_ERROR_PARAM = 0x8002C801,
|
|
CELL_SEARCH_ERROR_BUSY = 0x8002C802,
|
|
CELL_SEARCH_ERROR_NO_MEMORY = 0x8002C803,
|
|
CELL_SEARCH_ERROR_UNKNOWN_MODE = 0x8002C804,
|
|
CELL_SEARCH_ERROR_ALREADY_INITIALIZED = 0x8002C805,
|
|
CELL_SEARCH_ERROR_NOT_INITIALIZED = 0x8002C806,
|
|
CELL_SEARCH_ERROR_FINALIZING = 0x8002C807,
|
|
CELL_SEARCH_ERROR_NOT_SUPPORTED_SEARCH = 0x8002C808,
|
|
CELL_SEARCH_ERROR_CONTENT_OBSOLETE = 0x8002C809,
|
|
CELL_SEARCH_ERROR_CONTENT_NOT_FOUND = 0x8002C80A,
|
|
CELL_SEARCH_ERROR_NOT_LIST = 0x8002C80B,
|
|
CELL_SEARCH_ERROR_OUT_OF_RANGE = 0x8002C80C,
|
|
CELL_SEARCH_ERROR_INVALID_SEARCHID = 0x8002C80D,
|
|
CELL_SEARCH_ERROR_ALREADY_GOT_RESULT = 0x8002C80E,
|
|
CELL_SEARCH_ERROR_NOT_SUPPORTED_CONTEXT = 0x8002C80F,
|
|
CELL_SEARCH_ERROR_INVALID_CONTENTTYPE = 0x8002C810,
|
|
CELL_SEARCH_ERROR_DRM = 0x8002C811,
|
|
CELL_SEARCH_ERROR_TAG = 0x8002C812,
|
|
CELL_SEARCH_ERROR_GENERIC = 0x8002C8FF,
|
|
};
|
|
|
|
// Constants
|
|
enum
|
|
{
|
|
CELL_SEARCH_CONTENT_ID_SIZE = 16,
|
|
CELL_SEARCH_TITLE_LEN_MAX = 384,
|
|
CELL_SEARCH_TAG_NUM_MAX = 6,
|
|
CELL_SEARCH_TAG_LEN_MAX = 63,
|
|
CELL_SEARCH_PATH_LEN_MAX = 63,
|
|
CELL_SEARCH_MTOPTION_LEN_MAX = 63,
|
|
CELL_SEARCH_DEVELOPERDATA_LEN_MAX = 64,
|
|
CELL_SEARCH_GAMECOMMENT_SIZE_MAX = 1024,
|
|
CELL_SEARCH_CONTENT_BUFFER_SIZE_MAX = 2048,
|
|
};
|
|
|
|
// Sort keys
|
|
enum CellSearchSortKey : s32
|
|
{
|
|
CELL_SEARCH_SORTKEY_NONE = 0,
|
|
CELL_SEARCH_SORTKEY_DEFAULT = 1,
|
|
CELL_SEARCH_SORTKEY_TITLE = 2,
|
|
CELL_SEARCH_SORTKEY_ALBUMTITLE = 3,
|
|
CELL_SEARCH_SORTKEY_GENRENAME = 4,
|
|
CELL_SEARCH_SORTKEY_ARTISTNAME = 5,
|
|
CELL_SEARCH_SORTKEY_IMPORTEDDATE = 6,
|
|
CELL_SEARCH_SORTKEY_TRACKNUMBER = 7,
|
|
CELL_SEARCH_SORTKEY_TAKENDATE = 8,
|
|
CELL_SEARCH_SORTKEY_USERDEFINED = 9,
|
|
CELL_SEARCH_SORTKEY_MODIFIEDDATE = 10,
|
|
};
|
|
|
|
// Sort order
|
|
enum CellSearchSortOrder : s32
|
|
{
|
|
CELL_SEARCH_SORTORDER_NONE = 0,
|
|
CELL_SEARCH_SORTORDER_ASCENDING = 1,
|
|
CELL_SEARCH_SORTORDER_DESCENDING = 2,
|
|
};
|
|
|
|
// Content types
|
|
enum CellSearchContentType : s32
|
|
{
|
|
CELL_SEARCH_CONTENTTYPE_NONE = 0,
|
|
CELL_SEARCH_CONTENTTYPE_MUSIC = 1,
|
|
CELL_SEARCH_CONTENTTYPE_MUSICLIST = 2,
|
|
CELL_SEARCH_CONTENTTYPE_PHOTO = 3,
|
|
CELL_SEARCH_CONTENTTYPE_PHOTOLIST = 4,
|
|
CELL_SEARCH_CONTENTTYPE_VIDEO = 5,
|
|
CELL_SEARCH_CONTENTTYPE_VIDEOLIST = 6,
|
|
CELL_SEARCH_CONTENTTYPE_SCENE = 7,
|
|
};
|
|
|
|
// Codecs
|
|
enum CellSearchCodec : s32
|
|
{
|
|
CELL_SEARCH_CODEC_UNKNOWN = 0,
|
|
CELL_SEARCH_CODEC_MPEG2 = 1,
|
|
CELL_SEARCH_CODEC_MPEG4 = 2,
|
|
CELL_SEARCH_CODEC_AVC = 3,
|
|
CELL_SEARCH_CODEC_MPEG1 = 4,
|
|
CELL_SEARCH_CODEC_AT3 = 5,
|
|
CELL_SEARCH_CODEC_AT3P = 6,
|
|
CELL_SEARCH_CODEC_ATALL = 7,
|
|
CELL_SEARCH_CODEC_MP3 = 8,
|
|
CELL_SEARCH_CODEC_AAC = 9,
|
|
CELL_SEARCH_CODEC_LPCM = 10,
|
|
CELL_SEARCH_CODEC_WAV = 11,
|
|
CELL_SEARCH_CODEC_WMA = 12,
|
|
CELL_SEARCH_CODEC_JPEG = 13,
|
|
CELL_SEARCH_CODEC_PNG = 14,
|
|
CELL_SEARCH_CODEC_TIFF = 15,
|
|
CELL_SEARCH_CODEC_BMP = 16,
|
|
CELL_SEARCH_CODEC_GIF = 17,
|
|
CELL_SEARCH_CODEC_MPEG2_TS = 18,
|
|
CELL_SEARCH_CODEC_DSD = 19,
|
|
CELL_SEARCH_CODEC_AC3 = 20,
|
|
CELL_SEARCH_CODEC_MPEG1_LAYER1 = 21,
|
|
CELL_SEARCH_CODEC_MPEG1_LAYER2 = 22,
|
|
CELL_SEARCH_CODEC_MPEG1_LAYER3 = 23,
|
|
CELL_SEARCH_CODEC_MPEG2_LAYER1 = 24,
|
|
CELL_SEARCH_CODEC_MPEG2_LAYER2 = 25,
|
|
CELL_SEARCH_CODEC_MPEG2_LAYER3 = 26,
|
|
CELL_SEARCH_CODEC_MOTIONJPEG = 27,
|
|
CELL_SEARCH_CODEC_MPO = 28,
|
|
};
|
|
|
|
// Scene types
|
|
enum CellSearchSceneType : s32
|
|
{
|
|
CELL_SEARCH_SCENETYPE_NONE = 0,
|
|
CELL_SEARCH_SCENETYPE_CHAPTER = 1,
|
|
CELL_SEARCH_SCENETYPE_CLIP_HIGHLIGHT = 2,
|
|
CELL_SEARCH_SCENETYPE_CLIP_USER = 3,
|
|
};
|
|
|
|
// List types
|
|
enum CellSearchListType : s32
|
|
{
|
|
CELL_SEARCH_LISTTYPE_NONE = 0,
|
|
CELL_SEARCH_LISTTYPE_MUSIC_ALBUM = 1,
|
|
CELL_SEARCH_LISTTYPE_MUSIC_GENRE = 2,
|
|
CELL_SEARCH_LISTTYPE_MUSIC_ARTIST = 3,
|
|
CELL_SEARCH_LISTTYPE_PHOTO_YEAR = 4,
|
|
CELL_SEARCH_LISTTYPE_PHOTO_MONTH = 5,
|
|
CELL_SEARCH_LISTTYPE_PHOTO_ALBUM = 6,
|
|
CELL_SEARCH_LISTTYPE_PHOTO_PLAYLIST = 7,
|
|
CELL_SEARCH_LISTTYPE_VIDEO_ALBUM = 8,
|
|
CELL_SEARCH_LISTTYPE_MUSIC_PLAYLIST = 9,
|
|
};
|
|
|
|
// Content status
|
|
enum CellSearchContentStatus : s32
|
|
{
|
|
CELL_SEARCH_CONTENTSTATUS_NONE,
|
|
CELL_SEARCH_CONTENTSTATUS_AVAILABLE,
|
|
CELL_SEARCH_CONTENTSTATUS_NOT_SUPPORTED,
|
|
CELL_SEARCH_CONTENTSTATUS_BROKEN,
|
|
};
|
|
|
|
// Search orientation
|
|
enum CellSearchOrientation : s32
|
|
{
|
|
CELL_SEARCH_ORIENTATION_UNKNOWN = 0,
|
|
CELL_SEARCH_ORIENTATION_TOP_LEFT,
|
|
CELL_SEARCH_ORIENTATION_TOP_RIGHT,
|
|
CELL_SEARCH_ORIENTATION_BOTTOM_RIGHT,
|
|
CELL_SEARCH_ORIENTATION_BOTTOM_LEFT,
|
|
};
|
|
|
|
// Search modes
|
|
enum CellSearchMode : s32
|
|
{
|
|
CELL_SEARCH_MODE_NORMAL = 0,
|
|
};
|
|
|
|
// Search events
|
|
enum CellSearchEvent : s32
|
|
{
|
|
CELL_SEARCH_EVENT_NOTIFICATION = 0,
|
|
CELL_SEARCH_EVENT_INITIALIZE_RESULT,
|
|
CELL_SEARCH_EVENT_FINALIZE_RESULT,
|
|
CELL_SEARCH_EVENT_LISTSEARCH_RESULT,
|
|
CELL_SEARCH_EVENT_CONTENTSEARCH_INLIST_RESULT,
|
|
CELL_SEARCH_EVENT_CONTENTSEARCH_RESULT,
|
|
CELL_SEARCH_EVENT_SCENESEARCH_INVIDEO_RESULT,
|
|
CELL_SEARCH_EVENT_SCENESEARCH_RESULT,
|
|
};
|
|
|
|
enum CellSearchListSearchType : s32
|
|
{
|
|
CELL_SEARCH_LISTSEARCHTYPE_NONE = 0,
|
|
CELL_SEARCH_LISTSEARCHTYPE_MUSIC_ALBUM,
|
|
CELL_SEARCH_LISTSEARCHTYPE_MUSIC_GENRE,
|
|
CELL_SEARCH_LISTSEARCHTYPE_MUSIC_ARTIST,
|
|
CELL_SEARCH_LISTSEARCHTYPE_PHOTO_YEAR,
|
|
CELL_SEARCH_LISTSEARCHTYPE_PHOTO_MONTH,
|
|
CELL_SEARCH_LISTSEARCHTYPE_PHOTO_ALBUM,
|
|
CELL_SEARCH_LISTSEARCHTYPE_PHOTO_PLAYLIST,
|
|
CELL_SEARCH_LISTSEARCHTYPE_VIDEO_ALBUM,
|
|
CELL_SEARCH_LISTSEARCHTYPE_MUSIC_PLAYLIST,
|
|
};
|
|
|
|
enum CellSearchContentSearchType : s32
|
|
{
|
|
CELL_SEARCH_CONTENTSEARCHTYPE_NONE = 0,
|
|
CELL_SEARCH_CONTENTSEARCHTYPE_MUSIC_ALL,
|
|
CELL_SEARCH_CONTENTSEARCHTYPE_PHOTO_ALL,
|
|
CELL_SEARCH_CONTENTSEARCHTYPE_VIDEO_ALL,
|
|
};
|
|
|
|
enum CellSearchSceneSearchType : s32
|
|
{
|
|
CELL_SEARCH_SCENESEARCHTYPE_NONE = 0,
|
|
CELL_SEARCH_SCENESEARCHTYPE_CHAPTER,
|
|
CELL_SEARCH_SCENESEARCHTYPE_CLIP_HIGHLIGHT,
|
|
CELL_SEARCH_SCENESEARCHTYPE_CLIP_USER,
|
|
CELL_SEARCH_SCENESEARCHTYPE_CLIP,
|
|
CELL_SEARCH_SCENESEARCHTYPE_ALL,
|
|
};
|
|
|
|
enum CellSearchRepeatMode : s32
|
|
{
|
|
CELL_SEARCH_REPEATMODE_NONE = 0,
|
|
CELL_SEARCH_REPEATMODE_REPEAT1,
|
|
CELL_SEARCH_REPEATMODE_ALL,
|
|
CELL_SEARCH_REPEATMODE_NOREPEAT1,
|
|
};
|
|
|
|
enum CellSearchContextOption : s32
|
|
{
|
|
CELL_SEARCH_CONTEXTOPTION_NONE = 0,
|
|
CELL_SEARCH_CONTEXTOPTION_SHUFFLE,
|
|
};
|
|
|
|
enum CellSearchSharableType : s32
|
|
{
|
|
CELL_SEARCH_SHARABLETYPE_PROHIBITED = 0,
|
|
CELL_SEARCH_SHARABLETYPE_PERMITTED,
|
|
};
|
|
|
|
using CellSearchId = s32;
|
|
using CellSearchSystemCallback = void(CellSearchEvent event, s32 result, vm::cptr<void> param, vm::ptr<void> userData);
|
|
|
|
struct CellSearchContentId
|
|
{
|
|
char data[CELL_SEARCH_CONTENT_ID_SIZE];
|
|
};
|
|
|
|
struct CellSearchResultParam
|
|
{
|
|
be_t<CellSearchId> searchId;
|
|
be_t<u32> resultNum;
|
|
};
|
|
|
|
struct CellSearchMusicListInfo
|
|
{
|
|
be_t<s32> listType; // CellSearchListType
|
|
be_t<u32> numOfItems;
|
|
be_t<s64> duration;
|
|
char title[CELL_SEARCH_TITLE_LEN_MAX + 1];
|
|
char reserved[3];
|
|
char artistName[CELL_SEARCH_TITLE_LEN_MAX + 1];
|
|
char reserved2[3];
|
|
};
|
|
|
|
struct CellSearchPhotoListInfo
|
|
{
|
|
be_t<s32> listType; // CellSearchListType
|
|
be_t<u32> numOfItems;
|
|
char title[CELL_SEARCH_TITLE_LEN_MAX + 1];
|
|
char reserved[3];
|
|
};
|
|
|
|
struct CellSearchVideoListInfo
|
|
{
|
|
be_t<s32> listType; // CellSearchListType
|
|
be_t<u32> numOfItems;
|
|
be_t<s64> duration;
|
|
char title[CELL_SEARCH_TITLE_LEN_MAX + 1];
|
|
char reserved[3];
|
|
};
|
|
|
|
struct CellSearchMusicInfo
|
|
{
|
|
be_t<s64> duration;
|
|
be_t<s64> size;
|
|
be_t<s64> importedDate;
|
|
be_t<s64> lastPlayedDate;
|
|
be_t<s32> releasedYear;
|
|
be_t<s32> trackNumber;
|
|
be_t<s32> bitrate;
|
|
be_t<s32> samplingRate;
|
|
be_t<s32> quantizationBitrate;
|
|
be_t<s32> playCount;
|
|
be_t<s32> drmEncrypted;
|
|
be_t<s32> codec; // CellSearchCodec
|
|
be_t<s32> status; // CellSearchContentStatus
|
|
char diskNumber[8];
|
|
char title[CELL_SEARCH_TITLE_LEN_MAX + 1];
|
|
char reserved[3];
|
|
char albumTitle[CELL_SEARCH_TITLE_LEN_MAX + 1];
|
|
char reserved2[3];
|
|
char artistName[CELL_SEARCH_TITLE_LEN_MAX + 1];
|
|
char reserved3[3];
|
|
char genreName[CELL_SEARCH_TITLE_LEN_MAX + 1];
|
|
char reserved4[3];
|
|
};
|
|
|
|
struct CellSearchPhotoInfo
|
|
{
|
|
be_t<s64> size;
|
|
be_t<s64> importedDate;
|
|
be_t<s64> takenDate;
|
|
be_t<s32> width;
|
|
be_t<s32> height;
|
|
be_t<s32> orientation; // CellSearchOrientation
|
|
be_t<s32> codec; // CellSearchCodec
|
|
be_t<s32> status; // CellSearchContentStatus
|
|
char title[CELL_SEARCH_TITLE_LEN_MAX + 1];
|
|
char reserved[3];
|
|
char albumTitle[CELL_SEARCH_TITLE_LEN_MAX + 1];
|
|
char reserved2[3];
|
|
};
|
|
|
|
struct CellSearchVideoInfo
|
|
{
|
|
be_t<s64> duration;
|
|
be_t<s64> size;
|
|
be_t<s64> importedDate;
|
|
be_t<s64> takenDate;
|
|
be_t<s32> videoBitrate;
|
|
be_t<s32> audioBitrate;
|
|
be_t<s32> playCount;
|
|
be_t<s32> drmEncrypted;
|
|
be_t<s32> videoCodec; // CellSearchCodec
|
|
be_t<s32> audioCodec; // CellSearchCodec
|
|
be_t<s32> status; // CellSearchContentStatus
|
|
char title[CELL_SEARCH_TITLE_LEN_MAX + 1];
|
|
char reserved[3];
|
|
char albumTitle[CELL_SEARCH_TITLE_LEN_MAX + 1];
|
|
char reserved2[3];
|
|
};
|
|
|
|
struct CellSearchVideoSceneInfo
|
|
{
|
|
be_t<s32> sceneType; // CellSearchSceneType
|
|
be_t<s64> startTime_ms;
|
|
be_t<s64> endTime_ms;
|
|
CellSearchContentId videoId;
|
|
char title[CELL_SEARCH_TITLE_LEN_MAX + 1];
|
|
char reserved[3];
|
|
char tags[CELL_SEARCH_TAG_NUM_MAX][CELL_SEARCH_TAG_LEN_MAX];
|
|
};
|
|
|
|
struct CellSearchContentInfoPath
|
|
{
|
|
char contentPath[CELL_SEARCH_PATH_LEN_MAX + 1];
|
|
char thumbnailPath[CELL_SEARCH_PATH_LEN_MAX + 1];
|
|
};
|
|
|
|
struct CellSearchContentInfoPathMovieThumb
|
|
{
|
|
char movieThumbnailPath[CELL_SEARCH_PATH_LEN_MAX + 1];
|
|
char movieThumbnailOption[CELL_SEARCH_MTOPTION_LEN_MAX + 1];
|
|
};
|
|
|
|
struct CellSearchTimeInfo
|
|
{
|
|
be_t<s64> takenDate;
|
|
be_t<s64> importedDate;
|
|
be_t<s64> modifiedDate;
|
|
};
|