Initial revision
[ssr] / StraySrc / Libraries / Sapphire / csapph / h / xfer / xsave
CommitLineData
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
40extern 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
59extern 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
70extern 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
81extern 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
92extern 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
103extern 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
115extern 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
129extern routine xsave_block;
130
131/*----- That's all, folks -------------------------------------------------*/
132
133#endif