Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 500 → Rev 501

/shark/trunk/tracer/newtrace/FTrace_OSD.c
55,26 → 55,44
 
}
 
int FTrace_OSD_chunk_init(FTrace_Chunk_Ptr c, int size, FTrace_flags flags)
/* OSD_pointers
00 - Actual Chunk Position
04 - Actual Chunk Start
08 - Actual Chunk Size
12 - Actual Chunk Emergency Size
16 - Actual Chunk Flags
20 - Next1 Chunk Position
24 - Next1 Chunk Start
28 - Next1 Chunk Size
32 - Next1 Chunk Emergency Size
36 - Next1 Chunk Flags
*/
 
int FTrace_OSD_chunk_init(FTrace_Chunk_Ptr c, int size, int emergency_size, FTrace_flags flags)
{
 
*(DWORD *)(c->osd) = 0;
*(DWORD *)(c->osd + 4) = (DWORD)(c->sizemask);
*(DWORD *)(c->osd + 8) = (DWORD)(c->osd + 60);
*(DWORD *)(c->osd + 12) = 0;
*(DWORD *)(c->osd + 16) = 0;
*(DWORD *)(c->osd) = 4;
 
*(DWORD *)(c->osd + 20) = 0;
*(DWORD *)(c->osd + 4) = (DWORD)(c->osd + FTRACE_OSD_CHUNK_HEAD);
*(DWORD *)(c->osd + 8) = (DWORD)(c->osd + FTRACE_OSD_CHUNK_HEAD);
*(DWORD *)(c->osd + 12) = (DWORD)(c->size);
*(DWORD *)(c->osd + 16) = (DWORD)(c->emergency_size);
*(DWORD *)(c->osd + 20) = (DWORD)(c->flags);
 
*(DWORD *)(c->osd + 24) = 0;
*(DWORD *)(c->osd + 28) = 0;
*(DWORD *)(c->osd + 32) = 0;
*(DWORD *)(c->osd + 36) = 0;
*(DWORD *)(c->osd + 40) = 0;
 
*(DWORD *)(c->osd + 40) = 0;
*(DWORD *)(c->osd + 44) = 0;
*(DWORD *)(c->osd + 48) = 0;
*(DWORD *)(c->osd + 52) = 0;
*(DWORD *)(c->osd + 56) = 0;
*(DWORD *)(c->osd + 60) = 0;
 
return 0;
 
87,9 → 105,9
int delta = 0;
 
if (osd_flags == FTRACE_OSD_NEXT1)
delta = 20;
delta = 24;
if (osd_flags == FTRACE_OSD_NEXT2)
delta = 40;
delta = 44;
 
if (delta == 0) return -1;