3#ifndef SYMS_MSF_PARSER_C
4#define SYMS_MSF_PARSER_C
11 void *base = data.
str;
38 else if (index_size == 4){
208 for (
SYMS_U32 i = 0; i < stream_count; i += 1){
306 if (off <= stream_info.
size){
319 if (size > 0 && off + size <= stream_info.
size){
384 if (off + size <= range.
size){
385 result.
sn = range.
sn;
386 result.
off = range.
off + off;
411 if (off + size <= range.
size){
482 for (;ptr < opl && *ptr != 0; ptr += 1);
UE_FORCEINLINE_HINT TSharedRef< CastToType, Mode > StaticCastSharedRef(TSharedRef< CastFromType, Mode > const &InSharedRef)
Definition SharedPointer.h:127
Definition syms_base.h:402
Definition syms_msf_parser.h:33
SYMS_U8 * stream_indices
Definition syms_msf_parser.h:34
SYMS_U32 size
Definition syms_msf_parser.h:35
Definition syms_msf_parser.h:38
SYMS_MsfHeaderInfo header
Definition syms_msf_parser.h:39
SYMS_MsfAccelStreamInfo * stream_info
Definition syms_msf_parser.h:41
SYMS_U32 stream_count
Definition syms_msf_parser.h:40
Definition syms_msf_parser.h:24
SYMS_MsfStreamNumber sn
Definition syms_msf_parser.h:25
SYMS_U32 off
Definition syms_msf_parser.h:26
SYMS_U32 size
Definition syms_msf_parser.h:27
Definition syms_msf_parser.h:18
SYMS_U32 size
Definition syms_msf_parser.h:21
SYMS_MsfStreamNumber sn
Definition syms_msf_parser.h:19
SYMS_U8 * stream_indices
Definition syms_msf_parser.h:20
Definition syms_base.h:306
Definition syms_base.h:296
SYMS_U8 * str
Definition syms_base.h:297
SYMS_U64 size
Definition syms_base.h:298
Definition syms_base.h:259
Definition syms_base.h:264
SYMS_API SYMS_U64 syms_based_range_read(void *base, SYMS_U64Range range, SYMS_U64 offset, SYMS_U64 out_size, void *out)
Definition syms_base.c:753
SYMS_API SYMS_String8 syms_string_list_join(SYMS_Arena *arena, SYMS_String8List *list, SYMS_StringJoin *join_ptr)
Definition syms_base.c:315
SYMS_API SYMS_String8 syms_str8_range(SYMS_U8 *first, SYMS_U8 *opl)
Definition syms_base.c:184
SYMS_API SYMS_ArenaTemp syms_get_scratch(SYMS_Arena **conflicts, SYMS_U64 conflict_count)
Definition syms_base.c:694
SYMS_API SYMS_U64Range syms_make_u64_range(SYMS_U64 min, SYMS_U64 max)
Definition syms_base.c:18
SYMS_API void syms_string_list_push(SYMS_Arena *arena, SYMS_String8List *list, SYMS_String8 string)
Definition syms_base.c:282
#define syms_true
Definition syms_base.h:105
#define syms_based_range_read_struct(b, r, o, p)
Definition syms_base.h:593
#define syms_push_array(a, T, c)
Definition syms_base.h:561
#define SYMS_ClampTop(a, b)
Definition syms_base.h:182
#define SYMS_CeilIntegerDiv(a, b)
Definition syms_base.h:185
#define SYMS_MEMBER_OFFSET(type, member)
Definition syms_base.h:149
#define syms_false
Definition syms_base.h:104
#define SYMS_API
Definition syms_base.h:29
#define SYMS_ASSERT(x)
Definition syms_base.h:125
SYMS_S32 SYMS_B32
Definition syms_base.h:99
#define syms_push_array_zero(a, T, c)
Definition syms_base.h:564
#define syms_release_scratch
Definition syms_base.h:567
uint32_t SYMS_U32
Definition syms_crt_overrides.h:38
uint64_t SYMS_U64
Definition syms_crt_overrides.h:39
#define syms_memmove
Definition syms_crt_overrides.h:65
#define syms_memcmp
Definition syms_crt_overrides.h:67
#define SYMS_U64
Definition syms_crt_overrides.h:54
#define SYMS_U32
Definition syms_crt_overrides.h:53
uint8_t SYMS_U8
Definition syms_crt_overrides.h:36
#define SYMS_Arena
Definition syms_default_arena.h:61
#define SYMS_ProfEnd()
Definition syms_dev.h:212
#define SYMS_ProfBegin(str)
Definition syms_dev.h:209
SYMS_READ_ONLY SYMS_GLOBAL char syms_msf20_magic[]
Definition syms_msf.h:13
#define SYMS_MSF_MAX_MAGIC_SIZE
Definition syms_msf.h:18
#define SYMS_MSF20_MAGIC_SIZE
Definition syms_msf.h:16
SYMS_READ_ONLY SYMS_GLOBAL char syms_msf70_magic[]
Definition syms_msf.h:14
SYMS_U16 SYMS_MsfStreamNumber
Definition syms_msf.h:11
#define SYMS_MSF70_MAGIC_SIZE
Definition syms_msf.h:17
SYMS_API SYMS_String8 syms_msf_read_whole_range(SYMS_Arena *arena, SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_MsfRange range)
Definition syms_msf_parser.c:418
SYMS_API SYMS_MsfAccel * syms_msf_deep_copy(SYMS_Arena *arena, SYMS_MsfAccel *msf)
Definition syms_msf_parser.c:241
SYMS_API SYMS_MsfRange syms_msf_range_from_sn(SYMS_MsfAccel *msf, SYMS_MsfStreamNumber sn)
Definition syms_msf_parser.c:371
SYMS_API SYMS_B32 syms_msf_bounds_check_in_range(SYMS_MsfRange range, SYMS_U32 off)
Definition syms_msf_parser.c:402
SYMS_API SYMS_B32 syms_msf_read_in_range(SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_MsfRange range, SYMS_U32 off, SYMS_U32 size, void *out)
Definition syms_msf_parser.c:408
SYMS_API SYMS_MsfHeaderInfo syms_msf_header_info_from_data_slow(SYMS_String8 data)
Definition syms_msf_parser.c:10
SYMS_API SYMS_MsfRange syms_msf_sub_range_from_off_range(SYMS_MsfRange range, SYMS_U32Range off_range)
Definition syms_msf_parser.c:393
SYMS_API SYMS_B32 syms_msf_bounds_check(SYMS_MsfAccel *msf, SYMS_MsfStreamNumber sn, SYMS_U32 off)
Definition syms_msf_parser.c:303
SYMS_API SYMS_MsfStreamInfo syms_msf_stream_info_from_sn(SYMS_MsfAccel *msf, SYMS_MsfStreamNumber sn)
Definition syms_msf_parser.c:290
SYMS_API SYMS_MsfRange syms_msf_make_range(SYMS_MsfStreamNumber sn, SYMS_U32 off, SYMS_U32 len)
Definition syms_msf_parser.c:365
SYMS_API SYMS_MsfRange syms_msf_sub_range(SYMS_MsfRange range, SYMS_U32 off, SYMS_U32 size)
Definition syms_msf_parser.c:382
SYMS_API SYMS_B32 syms_msf_read(SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_MsfStreamNumber sn, SYMS_U32 off, SYMS_U32 size, void *out)
Definition syms_msf_parser.c:313
SYMS_API SYMS_MsfAccel * syms_msf_accel_dummy_from_raw_data(SYMS_Arena *arena, SYMS_String8 data)
Definition syms_msf_parser.c:252
SYMS_API SYMS_U32 syms_msf_get_stream_count(SYMS_MsfAccel *msf)
Definition syms_msf_parser.c:285
SYMS_API SYMS_MsfAccel * syms_msf_accel_from_data(SYMS_Arena *arena, SYMS_String8 data)
Definition syms_msf_parser.c:56
SYMS_API SYMS_MsfHeaderInfo syms_msf_header_info_from_msf(SYMS_MsfAccel *msf)
Definition syms_msf_parser.c:280
SYMS_API SYMS_String8 syms_msf_read_zstring_in_range(SYMS_Arena *arena, SYMS_String8 data, SYMS_MsfAccel *msf, SYMS_MsfRange range, SYMS_U32 r_off)
Definition syms_msf_parser.c:427