2ee739cc |
1 | /* |
2 | * xsave.h |
3 | * |
4 | * [Generated from xsave, 08 November 1995] |
5 | */ |
6 | |
7 | #pragma include_only_once |
8 | #pragma force_top_level |
9 | |
10 | #ifndef __xsave_h |
11 | #define __xsave_h |
12 | |
13 | /*----- Overview ----------------------------------------------------------* |
14 | * |
15 | * Functions provided: |
16 | * |
17 | * xsave_save |
18 | * xsave_send |
19 | * xsave_done |
20 | * xsave_failed |
21 | * xsave_byte |
22 | * xsave_word |
23 | * xsave_string |
24 | * xsave_block |
25 | */ |
26 | |
27 | /* --- xsave_save --- * |
28 | * |
29 | * On entry: R0 == pointer to saver routine |
30 | * R1 == R10 value to pass to saver |
31 | * R2 == R12 value to pass to saver |
32 | * R3 == pointer to filename to save to |
33 | * R4 == filetype of file to save |
34 | * |
35 | * On exit: May return an error |
36 | * |
37 | * Use: Calls a generalised saver routine to write data to a file. |
38 | */ |
39 | |
40 | extern routine xsave_save; |
41 | |
42 | /* --- xsave_send --- * |
43 | * |
44 | * On entry: R0 == pointer to saver routine |
45 | * R1 == R10 value to pass to saver |
46 | * R2 == R12 value to pass to saver |
47 | * |
48 | * On exit: R0 == pointer to block to send |
49 | * R1 == size of block |
50 | * CS if this is the last block, else CC |
51 | * May return an error |
52 | * |
53 | * Use: Calls a generalised saver routine to write data to another |
54 | * application, using RAM transfer. Note that you must call |
55 | * this routine from your send entry point throughout the |
56 | * save operation. |
57 | */ |
58 | |
59 | extern routine xsave_send; |
60 | |
61 | /* --- xsave_done --- * |
62 | * |
63 | * On entry: -- |
64 | * |
65 | * On exit: -- |
66 | * |
67 | * Use: Tidies up after a successful save job. |
68 | */ |
69 | |
70 | extern routine xsave_done; |
71 | |
72 | /* --- xsave_failed --- * |
73 | * |
74 | * On entry: R0 == pointer to error block |
75 | * |
76 | * On exit: -- |
77 | * |
78 | * Use: Tidies up a RAM transfer after an error. |
79 | */ |
80 | |
81 | extern routine xsave_failed; |
82 | |
83 | /* --- xsave_byte --- * |
84 | * |
85 | * On entry: R0 == byte to write in lowest 8 bits |
86 | * |
87 | * On exit: May return an error |
88 | * |
89 | * Use: Writes a single byte to the current output. |
90 | */ |
91 | |
92 | extern routine xsave_byte; |
93 | |
94 | /* --- xsave_word --- * |
95 | * |
96 | * On entry: R0 == word to write |
97 | * |
98 | * On exit: May return an error |
99 | * |
100 | * Use: Writes a single word to the current output. |
101 | */ |
102 | |
103 | extern routine xsave_word; |
104 | |
105 | /* --- xsave_string --- * |
106 | * |
107 | * On entry: R0 == pointer to a control-terminated string |
108 | * |
109 | * On exit: May return an error |
110 | * |
111 | * Use: Writes a control-terminated string to the current output. |
112 | * The string is null terminated in the output file. |
113 | */ |
114 | |
115 | extern routine xsave_string; |
116 | |
117 | /* --- xsave_block --- * |
118 | * |
119 | * On entry: R0 == pointer to buffer to write |
120 | * R1 == size of buffer to write |
121 | * |
122 | * On exit: May return an error |
123 | * |
124 | * Use: Writes out a block of data. Data is buffered, so this is |
125 | * fairly quick for reading small objects. Large data blocks |
126 | * are sent directly to avoid buffering overhead. |
127 | */ |
128 | |
129 | extern routine xsave_block; |
130 | |
131 | /*----- That's all, folks -------------------------------------------------*/ |
132 | |
133 | #endif |