chiark / gitweb /
Initial revision
[ssr] / StraySrc / Libraries / Sapphire / csapph / h / xfer / xsave
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