/* 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. */ /* File: messages.h * Purpose: accessing an Object modules messages file (inc error reporting) * Author: Timothy Roddis * History: 24-Jan-94: IDJ: created from original TGR sources */ #include "kernel.h" #ifndef __toolbox_h #include "objects.toolbox.h" #endif /* ------------------------------------ raising errors ---------------------------------------- */ extern _kernel_oserror *make_error (int err_num, int num_args, ...); /* * Generate a RISC OS error block. */ extern _kernel_oserror *make_error_hex (int err_num, int num_args, ...); /* * Generate a RISC OS error block, with integer params printed in hex. */ extern void raise_toolbox_error (int err_num, ObjectID object_id, ComponentID component_id, int num_args, ...); /* * Raise a Toolbox_Error event */ extern void raise_toolbox_error_hex (int err_num, ObjectID object_id, ComponentID component_id, int num_args, ...); /* * Raise a Toolbox_Error event, with integer parameters printed in hex */ extern void raise_toolbox_oserror (_kernel_oserror *e, ObjectID object_id, ComponentID component_id); /* * Raise a Toolbox_Error event, given a RISC OS error block */ /* --------------------------------------- message file handling ------------------------------ */ extern _kernel_oserror *messages_file_open (char *messages_filename); /* * Open the module's messages file (and cache file descriptor) */ extern _kernel_oserror *messages_file_close (void); /* * Close the module's messages file */ extern _kernel_oserror *messages_file_lookup (char *token, char *buffer, int *buffer_size, int num_args, ...); /* * Lookup given token in message file. * Result is placed in buffer, unless buffer == NULL, in which case * the size of buffer required is returned in *buffer_size */