PS2SDK
PS2 Homebrew Libraries
libsecr-common.h
Go to the documentation of this file.
1 /*
2 # _____ ___ ____ ___ ____
3 # ____| | ____| | | |____|
4 # | ___| |____ ___| ____| | \ PS2DEV Open Source Project.
5 #-----------------------------------------------------------------------
6 # Copyright (c) 2009 jimmikaelkael
7 # Licenced under Academic Free License version 2.0
8 # Review ps2sdk README & LICENSE files for further details.
9 */
10 
16 #ifndef __LIBSECR_COMMON_H__
17 #define __LIBSECR_COMMON_H__
18 
19 #include <tamtypes.h>
20 
22 typedef struct SecrBitBlockData
23 {
25  u32 size;
27  u32 flags;
28  u8 checksum[8];
30 
31 typedef struct SecrBitTableHeader
32 {
37  u8 pad1;
38  u8 pad2;
39  u8 pad3;
41 
43 typedef struct SecrBitTable
44 {
45  SecrBitTableHeader_t header;
49 
51 typedef struct KELF_Header
52 {
53  u8 UserHeader[16];
55  u32 ELF_size;
58  u16 unknown5;
60  u16 flags;
62  u16 BIT_count;
63  u32 mg_zones;
65 
66 extern int SecrCardBootHeader(int port, int slot, void *buffer, SecrBitTable_t *BitTable, s32 *pSize);
67 extern int SecrCardBootBlock(void *src, void *dst, unsigned int size);
68 extern void *SecrCardBootFile(int port, int slot, void *buffer);
69 extern int SecrDiskBootHeader(void *buffer, SecrBitTable_t *BitTable, s32 *pSize);
70 extern int SecrDiskBootBlock(void *src, void *dst, unsigned int size);
71 extern void *SecrDiskBootFile(void *buffer);
72 
73 /* FOLLOWING EXPORTS ARE ONLY AVAILABLE IN SPECIAL SECRMAN OR FREESECR */
74 extern int SecrDownloadHeader(int port, int slot, void *buffer, SecrBitTable_t *BitTable, s32 *pSize);
75 extern int SecrDownloadBlock(void *src, unsigned int size);
76 extern void *SecrDownloadFile(int port, int slot, void *buffer);
77 extern int SecrDownloadGetKbit(int port, int slot, void *kbit);
78 extern int SecrDownloadGetKc(int port, int slot, void *kbit);
79 extern int SecrDownloadGetICVPS2(void *icvps2);
80 
81 #endif /* __LIBSECR_COMMON_H__ */
KELF_Header::ELF_size
u32 ELF_size
Definition: libsecr-common.h:55
SecrBitBlockData_t
struct SecrBitBlockData SecrBitBlockData_t
SecrBitTableHeader::block_count
u8 block_count
Definition: libsecr-common.h:36
SecrBitBlockData
Definition: libsecr-common.h:22
SecrKELFHeader_t
struct KELF_Header SecrKELFHeader_t
SecrBitBlockData::flags
u32 flags
Definition: libsecr-common.h:27
SecrBitTableHeader::headersize
u32 headersize
Definition: libsecr-common.h:34
SecrBitTable_t
struct SecrBitTable SecrBitTable_t
KELF_Header::BIT_count
u16 BIT_count
Definition: libsecr-common.h:62
SecrBitTable
Definition: libsecr-common.h:43
tamtypes.h
KELF_Header::KELF_header_size
u16 KELF_header_size
Definition: libsecr-common.h:57
SecrBitBlockData::size
u32 size
Definition: libsecr-common.h:25
SecrBitTableHeader
Definition: libsecr-common.h:31
SecrBitTable::blocks
SecrBitBlockData_t blocks[63]
Definition: libsecr-common.h:47
KELF_Header
Definition: libsecr-common.h:51
KELF_Header::flags
u16 flags
Definition: libsecr-common.h:60