/* Copyright 1996 Acorn Computers Ltd * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ /* This header describes the interface to the manipulation of large lumps of memory and files. Revision History: 0.00 13-Jun-89 JSR Created. */ /* For c.memmanage */ extern void action_slot( int ); extern os_error *init_memmanagement( void ); extern os_error *init_for_copying( void ); extern os_error *add_file_to_chain( char *dest, char *source, int size, int reload, int exec, int attr, int objtype, int force, int *full #ifdef USE_PROGRESS_BAR , unsigned int progress, void **ref #endif ); extern os_error *read_a_block( int *i_am_full, int *need_another_file, int *that_finished_a_file, unsigned int *progress); extern os_error *write_a_block( int *i_am_empty, int *that_finished_a_file, unsigned int *progress ); extern char *next_file_to_be_written( void ); extern char *next_file_to_be_read( void ); extern void restart_file_read( void ); extern void restart_file_write( void ); extern void skip_file_read( void ); extern void skip_file_write( void ); extern int bytes_left_to_read( void ); extern int bytes_left_to_write( void ); extern void closedown_memmanagement( void ); extern void copy_go_faster( int do_it ); extern int size_of_finished_file; extern char *source_of_finished_file; #ifdef USE_PROGRESS_BAR extern void modify_chain_file_progress(void *ref, unsigned int progress); #endif