vitasdk
Documentation of the vitasdk
shacccg.h
Go to the documentation of this file.
1 
6 #ifndef _PSP2_SHACCCG_H_
7 #define _PSP2_SHACCCG_H_
8 
9 #include <vitasdk/build_utils.h>
10 #include <psp2/types.h>
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif // def __cplusplus
15 
19 typedef void const *SceShaccCgParameter;
21 
22 typedef SceShaccCgSourceFile* (*SceShaccCgCallbackOpenFile)(
23  const char *fileName,
24  const SceShaccCgSourceLocation *includedFrom,
25  const SceShaccCgCompileOptions *compileOptions,
26  const char **errorString);
27 
30  const SceShaccCgCompileOptions *compileOptions);
31 
32 typedef const char* (*SceShaccCgCallbackLocateFile)(
33  const char *fileName,
34  const SceShaccCgSourceLocation *includedFrom,
35  SceUInt32 searchPathCount,
36  const char *const*searchPaths,
37  const SceShaccCgCompileOptions *compileOptions,
38  const char **errorString);
39 
40 typedef const char* (*SceShaccCgCallbackAbsolutePath)(
41  const char *fileName,
42  const SceShaccCgSourceLocation *includedFrom,
43  const SceShaccCgCompileOptions *compileOptions);
44 
46  const char *fileName,
47  const SceShaccCgCompileOptions *compileOptions);
48 
51  const SceShaccCgSourceLocation *includedFrom,
52  const SceShaccCgCompileOptions *compileOptions,
53  int64_t *timeLastStatusChange,
54  int64_t *timeLastModified);
55 
61 
66 
71 
72 typedef enum SceShaccCgLocale {
76 
77 typedef struct SceShaccCgSourceFile {
78  const char *fileName;
79  const char *text;
83 
84 typedef struct SceShaccCgSourceLocation {
90 
91 typedef struct SceShaccCgCallbackList {
100 
101 typedef struct SceShaccCgCompileOptions {
102  const char *mainSourceFile;
104  const char *entryFunctionName;
106  const char* const *searchPaths;
108  const char* const *macroDefinitions;
110  const char* const *includeFiles;
120  int field_48;
126  int field_60;
127  int field_64;
130 
135  const char *message;
138 
139 typedef struct SceShaccCgCompileOutput {
140  const uint8_t *programData;
146 
148  SceShaccCgCompileOptions *options);
149 
151  const SceShaccCgCompileOptions *options,
152  const SceShaccCgCallbackList *callbacks,
153  int unk);
154 
155 int sceShaccCgSetDefaultAllocator(void *(*malloc_cb)(unsigned int), void (*free_cb)(void *));
156 
158  SceShaccCgCallbackList *callbacks,
159  SceShaccCgCallbackDefaults defaults);
160 
162  SceShaccCgCompileOutput const *output);
163 
165 
166 const char *sceShaccCgGetVersionString(void);
167 
168 #ifdef __cplusplus
169 }
170 #endif /* __cplusplus */
171 
172 #endif /* _PSP2_SHACCCG_H_ */
void(* SceShaccCgCallbackReleaseFile)(const SceShaccCgSourceFile *file, const SceShaccCgCompileOptions *compileOptions)
Definition: shacccg.h:28
const char * fileName
Definition: shacccg.h:78
SceShaccCgDiagnosticLevel
Definition: shacccg.h:56
SceUInt32 size
Definition: shacccg.h:80
const SceShaccCgSourceFile * file
Definition: shacccg.h:85
const char * text
Definition: shacccg.h:79
SceShaccCgSourceFile *(* SceShaccCgCallbackOpenFile)(const char *fileName, const SceShaccCgSourceLocation *includedFrom, const SceShaccCgCompileOptions *compileOptions, const char **errorString)
Definition: shacccg.h:22
int sceShaccCgSetDefaultAllocator(void *(*malloc_cb)(unsigned int), void(*free_cb)(void *))
SceInt32 pedantic
Definition: shacccg.h:124
SceShaccCgCallbackAbsolutePath absolutePath
Definition: shacccg.h:95
SceUInt32 code
Definition: shacccg.h:133
void sceShaccCgReleaseCompiler(void)
SceInt32 useFx
Definition: shacccg.h:114
SceShaccCgCallbackOpenFile openFile
Definition: shacccg.h:92
SceInt32 pedanticError
Definition: shacccg.h:125
const char *const * macroDefinitions
Definition: shacccg.h:108
const char *const * searchPaths
Definition: shacccg.h:106
SceInt32 diagnosticCount
Definition: shacccg.h:142
SceInt32 performanceWarnings
Definition: shacccg.h:122
SceShaccCgCallbackReleaseFileName releaseFileName
Definition: shacccg.h:96
SceUInt32 lineNumber
Definition: shacccg.h:86
int field_48
Definition: shacccg.h:120
SceInt32 useFastmath
Definition: shacccg.h:117
const char * entryFunctionName
Definition: shacccg.h:104
const char *const * includeFiles
Definition: shacccg.h:110
SceUInt32 macroDefinitionCount
Definition: shacccg.h:107
SceInt32 useFastprecision
Definition: shacccg.h:118
const uint8_t * programData
Definition: shacccg.h:140
const char *(* SceShaccCgCallbackLocateFile)(const char *fileName, const SceShaccCgSourceLocation *includedFrom, SceUInt32 searchPathCount, const char *const *searchPaths, const SceShaccCgCompileOptions *compileOptions, const char **errorString)
Definition: shacccg.h:32
const char * message
Definition: shacccg.h:135
const SceUInt32 * suppressedWarnings
Definition: shacccg.h:112
SceShaccCgTargetProfile
Definition: shacccg.h:62
SceShaccCgCallbackFileDate fileDate
Definition: shacccg.h:97
const SceShaccCgSourceLocation * location
Definition: shacccg.h:134
SceShaccCgLocale
Definition: shacccg.h:72
SceInt32 useFastint
Definition: shacccg.h:119
SceInt32(* SceShaccCgCallbackFileDate)(const SceShaccCgSourceFile *file, const SceShaccCgSourceLocation *includedFrom, const SceShaccCgCompileOptions *compileOptions, int64_t *timeLastStatusChange, int64_t *timeLastModified)
Definition: shacccg.h:49
SceShaccCgCompileOutput const * sceShaccCgCompileProgram(const SceShaccCgCompileOptions *options, const SceShaccCgCallbackList *callbacks, int unk)
SceUInt32 suppressedWarningsCount
Definition: shacccg.h:111
SceShaccCgLocale locale
Definition: shacccg.h:113
VITASDK_BUILD_ASSERT_EQ(4, SceShaccCgParameter)
SceInt32 noStdlib
Definition: shacccg.h:115
const char * mainSourceFile
Definition: shacccg.h:102
const char *(* SceShaccCgCallbackAbsolutePath)(const char *fileName, const SceShaccCgSourceLocation *includedFrom, const SceShaccCgCompileOptions *compileOptions)
Definition: shacccg.h:40
SceUInt32 includeFileCount
Definition: shacccg.h:109
SceShaccCgDiagnosticLevel level
Definition: shacccg.h:132
SceUInt32 searchPathCount
Definition: shacccg.h:105
SceInt32 optimizationLevel
Definition: shacccg.h:116
void sceShaccCgDestroyCompileOutput(SceShaccCgCompileOutput const *output)
SceShaccCgCallbackReleaseFile releaseFile
Definition: shacccg.h:93
const char * sceShaccCgGetVersionString(void)
void sceShaccCgInitializeCallbackList(SceShaccCgCallbackList *callbacks, SceShaccCgCallbackDefaults defaults)
int field_60
Definition: shacccg.h:126
SceShaccCgCallbackLocateFile locateFile
Definition: shacccg.h:94
const SceShaccCgDiagnosticMessage * diagnostics
Definition: shacccg.h:143
SceInt32 warningLevel
Definition: shacccg.h:123
SceUInt32 columnNumber
Definition: shacccg.h:87
int sceShaccCgInitializeCompileOptions(SceShaccCgCompileOptions *options)
void(* SceShaccCgCallbackReleaseFileName)(const char *fileName, const SceShaccCgCompileOptions *compileOptions)
Definition: shacccg.h:45
SceShaccCgTargetProfile targetProfile
Definition: shacccg.h:103
int field_64
Definition: shacccg.h:127
SceInt32 warningsAsErrors
Definition: shacccg.h:121
SceShaccCgCallbackDefaults
Definition: shacccg.h:67
void const * SceShaccCgParameter
Definition: shacccg.h:19
SceUInt32 programSize
Definition: shacccg.h:141
@ SCE_SHACCCG_DIAGNOSTIC_LEVEL_ERROR
Definition: shacccg.h:59
@ SCE_SHACCCG_DIAGNOSTIC_LEVEL_WARNING
Definition: shacccg.h:58
@ SCE_SHACCCG_DIAGNOSTIC_LEVEL_INFO
Definition: shacccg.h:57
@ SCE_SHACCCG_PROFILE_FP
Definition: shacccg.h:64
@ SCE_SHACCCG_PROFILE_VP
Definition: shacccg.h:63
@ SCE_SHACCCG_JAPANESE
Definition: shacccg.h:74
@ SCE_SHACCCG_ENGLISH
Definition: shacccg.h:73
@ SCE_SHACCCG_TRIVIAL
Definition: shacccg.h:69
@ SCE_SHACCCG_SYSTEM_FILES
Definition: shacccg.h:68
Definition: shacccg.h:91
Definition: shacccg.h:101
Definition: shacccg.h:139
Definition: shacccg.h:131
Definition: shacccg.h:77
Definition: shacccg.h:84
int32_t SceInt32
Definition: types.h:44
uint32_t SceUInt32
Definition: types.h:45