4 * [Generated from load, 08 November 1995]
7 #pragma include_only_once
8 #pragma force_top_level
13 /*----- Overview ----------------------------------------------------------*
27 * On entry: R0 == pointer to entry point block
28 * R1 == value of R10 to pass to entry points
29 * R2 == value of R12 to pass to entry points
33 * Use: Attempts to load a file after receipt of a Message_DataSave,
34 * Message_DataLoad or Message_DataOpen. If user entries for
35 * RAM transfer are provided, this is attempted, although the
36 * entries must also be aware that file transfer may be
42 /* --- load_initBuf --- *
44 * On entry: R1 == estimated file size
45 * R2 == pointer to flex anchor (unallocated)
47 * On exit: R0 == pointer to buffer start
51 * Use: Initialises a flex block for use as a RAM transfer buffer.
52 * This routine is suitable for use as the initBuf routine for
53 * RAM transfer loading.
56 extern routine load_initBuf;
58 /* --- load_killBuf --- *
60 * On entry: R2 == pointer to flex anchor
64 * Use: Frees a flex block. This routine should be used to free
65 * the buffer used for RAM transfer.
68 extern routine load_killBuf;
70 /* --- load_extendBuf --- *
72 * On entry: R0 == pointer to previous buffer
73 * R1 == size of previous buffer
74 * R2 == pointer to flex anchor
76 * On exit: R0 == pointer to a new buffer
77 * R1 == size of the new buffer
80 * Use: Extends the flex block if it was initially too small.
81 * This routine is designed to be used as the extend routine
82 * during RAM transfer.
85 extern routine load_extendBuf;
87 /* --- load_doneBuf --- *
89 * On entry: R1 == actual size of data
90 * R2 == pointer to flex anchor
94 * Use: Sets the block into which the data has been loaded to the
98 extern routine load_doneBuf;
100 /* --- load_file --- *
102 * On entry: R1 == pointer to filename to load
103 * R2 == pointer to flex anchor
105 * On exit: R0 == size of file loaded
106 * May return an error
108 * Use: Loads a named file into a flex block for your delectation.
111 extern routine load_file;
113 /*----- User entry points -------------------------------------------------*/
115 #define lEntry__initBuf 0
117 #define lEntry__killBuf 4
119 #define lEntry__extend 8
121 #define lEntry__doneBuf 12
123 #define lEntry__file 16
125 #define lEntry__done 20
127 #define lEntry__failed 24
129 /*----- That's all, folks -------------------------------------------------*/