CHDK_DE Vorschauversion  Trunk Rev. 6014
 Alle Datenstrukturen Dateien Funktionen Variablen Typdefinitionen Aufzählungen Aufzählungswerte Makrodefinitionen
filewrite.c-Dateireferenz
#include "lolevel.h"
#include "platform.h"
#include "../../../generic/filewrite.c"
+ Include-Abhängigkeitsdiagramm für filewrite.c:

gehe zum Quellcode dieser Datei

Datenstrukturen

struct  cam_ptp_data_chunk
 
struct  fwt_data_struct
 

Makrodefinitionen

#define MAX_CHUNKS_FOR_FWT   4
 

Funktionen

void _LogCameraEvent (int id, const char *fmt,...)
 
void __attribute__ ((naked, noinline))
 

Makro-Dokumentation

#define MAX_CHUNKS_FOR_FWT   4

Definiert in Zeile 16 der Datei filewrite.c.

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

!!

Definiert in Zeile 49 der Datei filewrite.c.

49  {
50 asm volatile (
51 " STMFD SP!, {R1-R5,LR} \n"
52 " LDR R4, =0xC8F4 \n"
53 
54 "loc_FFA46A30:\n"
55 " LDR R0, [R4, #0x10] \n"
56 " MOV R2, #0 \n"
57 " ADD R1, SP, #8 \n"
58 " BL sub_FF827D30 /*_ReceiveMessageQueue*/ \n"
59 " CMP R0, #0 \n"
60 " BNE loc_FFA46A60 \n"
61 #ifdef FILEWRITE_DEBUG_LOG
62 "ldr r0, [sp,#8]\n"
63 "bl log_fwt_msg\n"
64 #endif
65 " LDR R0, [SP, #8] \n"
66 " LDR R1, [R0] \n"
67 " CMP R1, #1 \n"
68 " BNE loc_FFA46A68 \n"
69 " LDR R0, [R4, #8] \n"
70 " BL _GiveSemaphore \n"
71 
72 "loc_FFA46A60:\n"
73 " BL _ExitTask \n"
74 " LDMFD SP!, {R1-R5,PC} \n"
75 
76 "loc_FFA46A68:\n"
77 " SUB R1, R1, #2 \n"
78 " CMP R1, #6 \n"
79 " ADDLS PC, PC, R1, LSL#2 \n"
80 " B loc_FFA46A30 \n"
81 " B loc_FFA46A94 \n"
82 " B loc_FFA46AF8 \n"
83 " B loc_FFA46B00 \n"
84 " B loc_FFA46B00 \n"
85 " B loc_FFA46B00 \n"
86 " B loc_FFA46B00 \n"
87 " B loc_FFA46B08 \n"
88 
89 "loc_FFA46A94:\n"
90 " MOV R0, #0 \n"
91 " STR R0, [SP] \n"
92 
93 "loc_FFA46A9C:\n"
94 " LDR R0, [R4, #0x10] \n"
95 " MOV R1, SP \n"
96 " BL sub_FF827F74 /*_GetNumberOfPostedMessages*/ \n"
97 " LDR R0, [SP] \n"
98 " CMP R0, #0 \n"
99 " BEQ loc_FFA46AC8 \n"
100 " LDR R0, [R4, #0x10] \n"
101 " MOV R2, #0 \n"
102 " ADD R1, SP, #4 \n"
103 " BL sub_FF827D30 /*_ReceiveMessageQueue*/ \n"
104 " B loc_FFA46A9C \n"
105 
106 "loc_FFA46AC8:\n"
107 " LDR R0, [R4] \n"
108 " CMN R0, #1 \n"
109 " BEQ loc_FFA46AEC \n"
110 " BL fwt_close \n" // --> Patched. Old value = _Close.
111 " MVN R0, #0 \n"
112 " STR R0, [R4] \n"
113 " LDR R0, =0xC03F0 \n"
114 " BL sub_FF85A094 \n"
115 " BL sub_FF85873C \n"
116 
117 "loc_FFA46AEC:\n"
118 " LDR R0, [R4, #0xC] \n"
119 " BL _GiveSemaphore \n"
120 " B loc_FFA46A30 \n"
121 
122 "loc_FFA46AF8:\n"
123 " BL sub_FFA46D80_my \n" // --> Patched. Old value = 0xFFA46D80. Open stage
124 " B loc_FFA46A30 \n"
125 
126 "loc_FFA46B00:\n"
127 " BL sub_FFA46E80_my \n" // --> Patched. Old value = 0xFFA46E80. Write stage
128 " B loc_FFA46A30 \n"
129 
130 "loc_FFA46B08:\n"
131 " BL sub_FFA46F8C_my \n" // --> Patched. Old value = 0xFFA46F8C. Close stage
132 " B loc_FFA46A30 \n"
133 );
134 }
void _LogCameraEvent ( int  id,
const char *  fmt,
  ... 
)