home *** CD-ROM | disk | FTP | other *** search
- #ifndef parallel_H
- #define parallel_H
-
- /* C header file for Parallel
- * written by DefMod (Jun 20 1995) on Thu Jun 22 12:11:41 1995
- * Jonathan Coxhead, Acorn Computers Ltd
- */
-
- #ifndef types_H
- #include "types.h"
- #endif
-
- #ifndef os_H
- #include "os.h"
- #endif
-
- /**********************************
- * SWI names and SWI reason codes *
- **********************************/
- #undef Parallel_HardwareAddress
- #define Parallel_HardwareAddress 0x42EC0
- #undef XParallel_HardwareAddress
- #define XParallel_HardwareAddress 0x62EC0
- #undef Parallel_Op
- #define Parallel_Op 0x42EC1
- #undef XParallel_Op
- #define XParallel_Op 0x62EC1
- #undef ParallelOp_Read
- #define ParallelOp_Read 0x0
- #undef ParallelOp_WriteData
- #define ParallelOp_WriteData 0x1
- #undef ParallelOp_WriteControl
- #define ParallelOp_WriteControl 0x2
-
- /*************************
- * Function declarations *
- *************************/
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /* ------------------------------------------------------------------------
- * Function: parallelop_read()
- *
- * Description: Reads the data and status registers
- *
- * Output: data_register - value of R1 on exit
- * status_register - value of R2 on exit
- *
- * Other notes: Calls SWI 0x42EC1 with R0 = 0x0.
- */
-
- extern os_error *xparallelop_read (bits *data_register,
- bits *status_register);
- extern void parallelop_read (bits *data_register,
- bits *status_register);
-
- /* ------------------------------------------------------------------------
- * Function: parallelop_write_data()
- *
- * Description: Writes the data register
- *
- * Input: data - value of R1 on entry
- *
- * Other notes: Calls SWI 0x42EC1 with R0 = 0x1.
- */
-
- extern os_error *xparallelop_write_data (bits data);
- extern void parallelop_write_data (bits data);
-
- /* ------------------------------------------------------------------------
- * Function: parallelop_write_control()
- *
- * Description: Reads/writes the control register
- *
- * Input: eor_mask - value of R1 on entry
- * and_mask - value of R2 on entry
- *
- * Output: old_control - value of R1 on exit (X version only)
- * new_control - value of R2 on exit
- *
- * Returns: R1 (non-X version only)
- *
- * Other notes: Calls SWI 0x42EC1 with R0 = 0x2.
- */
-
- extern os_error *xparallelop_write_control (bits eor_mask,
- bits and_mask,
- bits *old_control,
- bits *new_control);
- extern bits parallelop_write_control (bits eor_mask,
- bits and_mask,
- bits *new_control);
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif
-