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   7
 
#define FWT_MUSTSEEK   2
 
#define FWT_SEEKMASK   0xffffffff
 

Funktionen

void __attribute__ ((naked, noinline))
 

Makro-Dokumentation

#define FWT_MUSTSEEK   2

Definiert in Zeile 27 der Datei filewrite.c.

#define FWT_SEEKMASK   0xffffffff

Definiert in Zeile 28 der Datei filewrite.c.

#define MAX_CHUNKS_FOR_FWT   7

Definiert in Zeile 9 der Datei filewrite.c.

Dokumentation der Funktionen

void __attribute__ ( (naked, noinline)  )

!!

Definiert in Zeile 34 der Datei filewrite.c.

34  { //sub_FFA52E28
35 asm volatile (
36  " STMFD SP!, {R1-R7,LR} \n"
37  " LDR R7, =0x96D4 \n"
38  " MOV R6, #0 \n"
39 "loc_FFA52E34:\n"
40  " LDR R0, [R7, #0x14] \n"
41  " MOV R2, #0 \n"
42  " ADD R1, SP, #8 \n"
43  " MOV R5, R7 \n"
44  " BL sub_003F7218 \n"
45  " CMP R0, #0 \n"
46  " LDRNE R1, =0x38E \n"
47  " LDRNE R0, =0xFFA52F6C \n"
48  " BLNE sub_003F6AFC \n"
49  " LDR R0, [SP, #8] \n"
50  " LDR R1, [R0] \n"
51  " CMP R1, #0xB \n"
52  " ADDCC PC, PC, R1, LSL #2 \n"
53  " B loc_FFA52E34 \n"
54  " B loc_FFA52F3C \n"
55  " B loc_FFA52F3C \n"
56  " B loc_FFA52F3C \n"
57  " B loc_FFA52F3C \n"
58  " B loc_FFA52F3C \n"
59  " B loc_FFA52F3C \n"
60  " B loc_FFA52F3C \n"
61  " B loc_FFA52F44 \n"
62  " B loc_FFA52E98 \n"
63  " B loc_FFA52F08 \n"
64  " B loc_FFA52F00 \n"
65 "loc_FFA52E98:\n"
66  " STR R6, [SP] \n"
67 "loc_FFA52E9C:\n"
68  " LDR R0, [R5, #0x14] \n"
69  " MOV R1, SP \n"
70  " BL sub_003F745C \n"
71  " LDR R0, [SP] \n"
72  " CMP R0, #0 \n"
73  " BEQ loc_FFA52EC8 \n"
74  " LDR R0, [R5, #0x14] \n"
75  " MOV R2, #0 \n"
76  " ADD R1, SP, #4 \n"
77  " BL sub_003F7218 \n"
78  " B loc_FFA52E9C \n"
79 "loc_FFA52EC8:\n"
80  " LDR R0, [R5, #8] \n"
81  " CMN R0, #1 \n"
82  " BEQ loc_FFA52EF4 \n"
83  " BL fwt_close\n" // mod! sub_FF830158
84  " MVN R0, #0 \n"
85  " STR R0, [R5, #8] \n"
86  " LDR R0, =0x132140 \n"
87  " STR R6, [R5, #4] \n"
88  " BL sub_FF86671C \n"
89  " MOV R1, #0 \n"
90  " BL sub_FF8647B8 \n"
91 "loc_FFA52EF4:\n"
92  " LDR R0, [R5, #0x10] \n"
93  " BL sub_003F7704 \n"
94  " B loc_FFA52E34 \n"
95 "loc_FFA52F00:\n"
96  " BL sub_FFA52B24_my \n" // -> open
97  " B loc_FFA52E34 \n"
98 "loc_FFA52F08:\n"
99  " LDR R1, [R0, #4] \n"
100  " MOV R4, R0 \n"
101  " LDR R0, [R5, #8] \n"
102  " MOV R2, #0 \n"
103  " BL fwt_lseek\n" // mod! sub_FF8302F0
104  " CMN R0, #1 \n"
105  " LDREQ R0, =0x9200013 \n"
106  " MOV R1, R4 \n"
107  " STREQ R0, [R4, #0x14] \n"
108  " MOVNE R0, #0 \n"
109  " MOVEQ R0, #7 \n"
110  " BL sub_FFA52A68 \n"
111  " B loc_FFA52E34 \n"
112 "loc_FFA52F3C:\n"
113  " BL sub_FFA53164_my \n" // -> write
114  " B loc_FFA52E34 \n"
115 "loc_FFA52F44:\n"
116  " BL sub_FFA52C90_my \n" // -> close
117  " B loc_FFA52E34 \n"
118  );
119 }