www.pudn.com > rtu.rar > KC_FUNCS.H


/* 
 * @(#)kc_funcs.h	1.3 
 * Special functions for 80C196KC and compatible processors. 
 */ 
#ifndef _kc_funcs_h 
#define _kc_funcs_h 
 
void		enable(void); 
void		disable(void); 
 
void		enable_pts(void); 
void		disable_pts(void); 
 
void		power_down(void); 
void		idle(void); 
 
/****************************************************************************/ 
/* Define typedefs for PTS Control Blocks of 80C196KC.			    */ 
/****************************************************************************/ 
 
/* 
 * Single Transfer PTS Control Block 
 */ 
typedef struct STran_ptscb_t 
{ 
    unsigned char	ptscount; 
    struct 
    { 
	unsigned int	    di : 1; 
	unsigned int	    si : 1; 
	unsigned int	    du : 1; 
	unsigned int	    su : 1; 
	unsigned int	    b_w : 1; 
	unsigned int	    mode : 3; 
    } ptscon; 
    void	       *ptssrc; 
    void	       *ptsdst; 
    int 		:16;				    /* unused */ 
} STran_ptscb; 
 
 
/* 
 * Block Transfer PTS Control Block 
 */ 
typedef struct BTran_ptscb_t 
{ 
    unsigned char	ptscount; 
    struct 
    { 
	unsigned int	    di : 1; 
	unsigned int	    si : 1; 
	unsigned int	    du : 1; 
	unsigned int	    su : 1; 
	unsigned int	    b_w : 1; 
	unsigned int	    mode : 3; 
    } ptscon; 
    void	       *ptssrc; 
    void	       *ptsdst; 
    unsigned char	ptsblock; 
    int 		:8;				    /* unused */ 
} BTran_ptscb; 
 
 
/* 
 * A/D Mode PTS Control Block 
 */ 
typedef struct AD_ptscb_t 
{ 
    unsigned char	ptscount; 
    struct 
    { 
	unsigned int	    const1 : 3; 
	unsigned int	    updt   : 1; 
	unsigned int	    const2 : 1; 
	unsigned int	    mode   : 3; 
    } ptscon; 
    unsigned int	s_d; 
    unsigned int	reg; 
    int 		:16;				    /* unused */ 
} AD_ptscb; 
 
 
/* 
 *  HSI Mode PTS Control Block 
 */ 
typedef struct HSI_ptscb_t 
{ 
    unsigned char	ptscount; 
    struct 
    { 
	unsigned int	    const1 : 3; 
	unsigned int	    updt   : 1; 
	unsigned int	    const2 : 1; 
	unsigned int	    mode   : 3; 
    } ptscon; 
    unsigned int	ptsdst; 
    unsigned int	:16;				    /* unused */ 
    unsigned char	ptsblock; 
    int 		: 8;				    /* unused */ 
} HSI_ptscb; 
 
 
/* 
 * HSO Mode PTS Control Block 
 */ 
typedef struct HSO_ptscb_t 
{ 
    unsigned char	ptscount; 
    struct { 
	unsigned int	    const1 : 3; 
	unsigned int	    updt   : 1; 
	unsigned int	    const2 : 1; 
	unsigned int	    mode   : 3; 
    } ptscon; 
    unsigned int	ptssrc; 
    unsigned int	:16;				    /* unused */ 
    unsigned char	ptsblock; 
    int 		: 8;				    /* unused */ 
} HSO_ptscb; 
 
 
/* 
 *  PTS A/D Table 
 */ 
typedef struct AD_tab_t 
{ 
    unsigned char	AD_command; 
    unsigned int	AD_result; 
} AD_tab; 
 
/* 
 *  PTS HSI Table 
 */ 
typedef struct HSI_tab_t 
{ 
    unsigned char	HSI_status_lo; 
    unsigned char	HSI_status_hi; 
    unsigned int	HSI_time; 
} HSI_tab; 
 
/* 
 *  PTS HSO Table 
 */ 
typedef struct HSO_tab_t 
{ 
    unsigned char	HSO_command; 
    unsigned int	HSO_time; 
} HSO_tab; 
 
#endif	/* _kc_funcs_h */