Windows NT 4.0 source code leak
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

201 lines
8.0 KiB

/*[
* Product: SoftPC-AT Revision 3.0
*
* Name: host_sas.h
*
* Derived From: New
*
* Authors: A. Guthrie
*
* Created On: Wed Apr 24 18:33:01 BST 1991
*
* Sccs ID: @(#)host_sas.h 1.18 08/10/92
*
* Purpose: Defines the function pointer interface to host sas
* routines.
*
* (c)Copyright Insignia Solutions Ltd., 1991. All rights reserved.
*
]*/
#if defined(BASE_SAS) && defined(HOST_SAS)
#ifndef SAS_PREFIX
#define SAS_PREFIX() sas_
#endif /* SAS_PREFIX */
#define IDENT(a) a
#define CAT(a,b) IDENT(a)b
#define sas_term CAT(SAS_PREFIX(),term)
#define sas_init CAT(SAS_PREFIX(),init)
#define sas_memory_size CAT(SAS_PREFIX(),memory_size)
#define sas_memory_type CAT(SAS_PREFIX(),memory_type)
#define sas_blockop CAT(SAS_PREFIX(),blockop)
#define sas_load CAT(SAS_PREFIX(),load)
#define sas_loadw CAT(SAS_PREFIX(),loadw)
#define sas_store CAT(SAS_PREFIX(),store)
#define sas_storew CAT(SAS_PREFIX(),storew)
#define sas_storedw CAT(SAS_PREFIX(),storedw)
#define sas_store_no_check CAT(SAS_PREFIX(),store_no_check)
#define sas_storew_no_check CAT(SAS_PREFIX(),storew_no_check)
#define sas_storedw_no_check CAT(SAS_PREFIX(),storedw_no_check)
#define sas_fills CAT(SAS_PREFIX(),fills)
#define sas_fillsw CAT(SAS_PREFIX(),fillsw)
#define sas_hw_at CAT(SAS_PREFIX(),hw_at)
#define sas_w_at CAT(SAS_PREFIX(),w_at)
#define sas_dw_at CAT(SAS_PREFIX(),dw_at)
#define sas_hw_at_no_check CAT(SAS_PREFIX(),hw_at_no_check)
#define sas_w_at_no_check CAT(SAS_PREFIX(),w_at_no_check)
#define sas_dw_at_no_check CAT(SAS_PREFIX(),dw_at_no_check)
#define sas_loads CAT(SAS_PREFIX(),loads)
#define sas_stores CAT(SAS_PREFIX(),stores)
#define sas_loads_no_check CAT(SAS_PREFIX(),loads_no_check)
#define sas_stores_no_check CAT(SAS_PREFIX(),stores_no_check)
#define sas_move_bytes_forward CAT(SAS_PREFIX(),move_bytes_forward)
#define sas_move_words_forward CAT(SAS_PREFIX(),move_words_forward)
#define sas_move_bytes_backward CAT(SAS_PREFIX(),move_bytes_backward)
#define sas_move_words_backward CAT(SAS_PREFIX(),move_words_backward)
#define sas_enable_20_bit_wrapping CAT(SAS_PREFIX(),enable_20_bit_wrapping)
#define sas_disable_20_bit_wrapping CAT(SAS_PREFIX(),disable_20_bit_wrapping)
#define sas_twenty_bit_wrapping_enabled CAT(SAS_PREFIX(),twenty_bit_wrapping_enabled)
#define sas_part_enable_20_bit_wrap CAT(SAS_PREFIX(),part_enable_20_bit_wrap)
#define sas_part_disable_20_bit_wrap CAT(SAS_PREFIX(),part_disable_20_bit_wrap)
#define sas_scratch_address CAT(SAS_PREFIX(),scratch_address)
#define sas_connect_memory CAT(SAS_PREFIX(),connect_memory)
#define sas_overwrite_memory CAT(SAS_PREFIX(),overwrite_memory)
#endif /* BASE_SAS && HOST_SAS */
#ifndef BASE_SAS
#ifdef HOST_SAS
typedef struct
{
VOID ( *do_sas_init ) ();
VOID ( *do_sas_term ) ();
sys_addr ( *do_sas_memory_size ) ();
half_word ( *do_sas_memory_type ) ();
VOID ( *do_sas_load ) ();
VOID ( *do_sas_loadw ) ();
VOID ( *do_sas_store ) ();
VOID ( *do_sas_storew ) ();
VOID ( *do_sas_storedw ) ();
VOID ( *do_sas_fills ) ();
VOID ( *do_sas_fillsw) ();
half_word ( *do_sas_hw_at ) ();
word ( *do_sas_w_at ) ();
double_word ( *do_sas_dw_at ) ();
VOID ( *do_sas_loads ) ();
VOID ( *do_sas_stores ) ();
VOID ( *do_sas_move_bytes_forward ) ();
VOID ( *do_sas_move_words_forward ) ();
VOID ( *do_sas_move_bytes_backward ) ();
VOID ( *do_sas_move_words_backward ) ();
host_addr ( *do_sas_get_byte_addr ) ();
host_addr ( *do_sas_inc_M_ptr ) ();
host_addr ( *do_sas_M_get_dw_ptr ) ();
VOID ( *do_sas_enable_20_bit_wrapping ) ();
VOID ( *do_sas_disable_20_bit_wrapping ) ();
host_addr ( *do_sas_scratch_address ) ();
VOID ( *do_sas_connect_memory ) ();
VOID ( *do_sas_store_no_check ) ();
VOID ( *do_sas_storew_no_check ) ();
VOID ( *do_sas_storedw_no_check ) ();
half_word ( *do_sas_hw_at_no_check ) ();
word ( *do_sas_w_at_no_check ) ();
half_word ( *do_sas_blockop ) ();
double_word ( *do_sas_dw_at_no_check ) ();
BOOL ( *do_sas_twenty_bit_wrapping_enabled ) ();
VOID ( *do_sas_part_enable_20_bit_wrap ) ();
VOID ( *do_sas_part_disable_20_bit_wrap ) ();
VOID ( *do_sas_loads_no_check ) ();
VOID ( *do_sas_stores_no_check ) ();
VOID ( *do_sas_overwrite_memory ) ();
} SAS_FUNCTIONS;
IMPORT SAS_FUNCTIONS host_sas_funcs;
#define sas_init( size ) \
( *host_sas_funcs.do_sas_init ) ( size )
#define sas_term( ) \
( *host_sas_funcs.do_sas_term ) ( )
#define sas_memory_size( ) \
( *host_sas_funcs.do_sas_memory_size ) ( )
#define sas_memory_type( ) \
( *host_sas_funcs.do_sas_memory_type ) ( )
#define sas_blockop( start, end, op ) \
( *host_sas_funcs.do_sas_blockop ) ( start, end, op )
#define sas_load( addr, val ) \
( *host_sas_funcs.do_sas_load ) ( addr, val )
#define sas_loadw( addr, val ) \
( *host_sas_funcs.do_sas_loadw ) ( addr, val )
#define sas_store( addr, val ) \
( *host_sas_funcs.do_sas_store ) ( addr, val )
#define sas_storew( addr, val ) \
( *host_sas_funcs.do_sas_storew ) ( addr, val )
#define sas_storedw( addr, val ) \
( *host_sas_funcs.do_sas_storedw ) ( addr, val )
#define sas_store_no_check( addr, val ) \
( *host_sas_funcs.do_sas_store_no_check ) ( addr, val )
#define sas_storew_no_check( addr, val ) \
( *host_sas_funcs.do_sas_storew_no_check ) ( addr, val )
#define sas_storedw_no_check( addr, val ) \
( *host_sas_funcs.do_sas_storedw_no_check ) ( addr, val )
#define sas_fills( addr, val, len ) \
( *host_sas_funcs.do_sas_fills ) ( addr, val, len )
#define sas_fillsw( addr, val, len ) \
( *host_sas_funcs.do_sas_fillsw ) ( addr, val, len )
#define sas_hw_at( addr ) \
( *host_sas_funcs.do_sas_hw_at ) ( addr )
#define sas_w_at( addr ) \
( *host_sas_funcs.do_sas_w_at ) ( addr )
#define sas_dw_at( addr ) \
( *host_sas_funcs.do_sas_dw_at ) ( addr )
#define sas_hw_at_no_check( addr ) \
( *host_sas_funcs.do_sas_hw_at_no_check ) ( addr )
#define sas_w_at_no_check( addr ) \
( *host_sas_funcs.do_sas_w_at_no_check ) ( addr )
#define sas_dw_at_no_check( addr ) \
( *host_sas_funcs.do_sas_dw_at_no_check ) ( addr )
#define sas_loads( src, dest, len ) \
( *host_sas_funcs.do_sas_loads ) ( src, dest, len )
#define sas_stores( dest, src, len ) \
( *host_sas_funcs.do_sas_stores ) ( dest, src, len )
#define sas_move_bytes_forward( src, dest, len ) \
( *host_sas_funcs.do_sas_move_bytes_forward ) ( src, dest, len )
#define sas_move_words_forward( src, dest, len ) \
( *host_sas_funcs.do_sas_move_words_forward ) ( src, dest, len )
#define sas_move_bytes_backward( src, dest, len ) \
( *host_sas_funcs.do_sas_move_bytes_backward ) ( src, dest, len )
#define sas_move_words_backward( src, dest, len ) \
( *host_sas_funcs.do_sas_move_words_backward ) ( src, dest, len )
#define get_byte_addr( address ) \
( *host_sas_funcs.do_sas_get_byte_addr ) ( address )
#define inc_M_ptr( buf, offset ) \
( *host_sas_funcs.do_sas_inc_M_ptr ) ( buf, offset )
#define M_get_dw_ptr( offset ) \
( *host_sas_funcs.do_sas_M_get_dw_ptr ) ( offset )
#define sas_enable_20_bit_wrapping() \
( *host_sas_funcs.do_sas_enable_20_bit_wrapping ) ()
#define sas_disable_20_bit_wrapping() \
( *host_sas_funcs.do_sas_disable_20_bit_wrapping ) ()
#define sas_part_enable_20_bit_wrap( flag, target, source) \
( *host_sas_funcs.do_sas_part_enable_20_bit_wrap ) ( flag, target, source)
#define sas_part_disable_20_bit_wrap( flag, target, source) \
( *host_sas_funcs.do_sas_part_disable_20_bit_wrap ) ( flag, target, source)
#define sas_twenty_bit_wrapping_enabled() \
( *host_sas_funcs.do_sas_twenty_bit_wrapping_enabled ) ()
#define sas_scratch_address( length ) \
( *host_sas_funcs.do_sas_scratch_address ) ( length )
#define sas_connect_memory( laddr, haddr, len ) \
( *host_sas_funcs.do_sas_connect_memory ) ( laddr, haddr, len )
#define sas_loads_no_check( src, dest, len ) \
( *host_sas_funcs.do_sas_loads_no_check ) ( src, dest, len )
#define sas_stores_no_check( dest, src, len ) \
( *host_sas_funcs.do_sas_stores_no_check ) ( dest, src, len )
#define sas_overwrite_memory( dest, len ) \
( *host_sas_funcs.do_sas_overwrite_memory ) ( dest, len )
#endif /* HOST_SAS */
#endif /* BASE_SAS */