亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? hal.h

?? epson 13506 driver code
?? H
?? 第 1 頁 / 共 2 頁
字號:
/*
**===========================================================================
** HAL.H
**---------------------------------------------------------------------------
** Copyright (c) 1997, 1999 Epson Research and Development, Inc.
** All Rights Reserved.
**===========================================================================
*/

#ifndef _HAL_H_
#define _HAL_H_

#ifdef   __GNUC__
#include "gnu.h"
#else
#pragma warning(disable:4001)   // Disable the 'single line comment' warning.
#endif

#include "hal_regs.h"

#if !defined(SE_NODEFMAIN) && !defined(INTEL_W32) && !defined(INTEL_DOS)
#define main seMain
#define exit seExit

void seExit(int status);
#endif

#if defined(__GNUC__) && defined(INTEL_DOS)
int getch(void);
#endif

#if defined(LCEVBSH3)
#define getch getchar
int siprintf(char *, const char *, ...);
#endif

#ifdef IDP68K
int getch(void);
int siprintf(char *, const char *, ...);
#endif

#ifdef MPC8xx
#ifdef getchar
#undef getchar
#endif
int getch(void);
int siprintf(char *, const char *, ...);
#endif


// embedded targets use non-float printf to reduce program size
#if defined(__GNUC__) && !defined(INTEL_DOS) && !defined(INTEL_W32)
#ifdef BUSTED_UART
int Printf(const char *, ...);
#define printf Printf
#else
#define printf iprintf
#endif
#define fprintf fiprintf
#define sprintf siprintf
#define vprintf viprintf
#define vfprintf vfiprintf
#define vsprintf vsiprintf
#endif

#ifdef MPC8xx
int Write(int handle, const void *buffer, unsigned int count);
int Read(int handle, void *buffer, unsigned int count);
#endif

/*-------------------------------------------------------------------------*/

typedef unsigned char  BYTE;
typedef unsigned short WORD;
typedef unsigned long  DWORD;
typedef unsigned int   UINT;
typedef          int   BOOL;

#ifdef INTEL_DOS
 typedef BYTE  far *LPBYTE;
 typedef WORD  far *LPWORD;
 typedef DWORD far *LPDWORD;
#else
 typedef BYTE  *LPBYTE;
 typedef WORD  *LPWORD;
 typedef DWORD *LPDWORD;
#endif

#ifndef LOBYTE
#define LOBYTE(w)    ((BYTE)(w))
#endif

#ifndef HIBYTE
#define HIBYTE(w)    ((BYTE)(((UINT)(w) >> 8) & 0xFF))
#endif

#ifndef LOWORD
#define LOWORD(l)    ((WORD)(DWORD)(l))
#endif

#ifndef HIWORD
#define HIWORD(l)    ((WORD)((((DWORD)(l)) >> 16) & 0xFFFF))
#endif

#ifndef MAKEWORD
#define MAKEWORD(lo, hi) ((WORD)(((WORD)(lo)) | (((WORD)(hi)) << 8)) )
#endif

#ifndef MAKELONG
#define MAKELONG(lo, hi) ((long)(((WORD)(lo)) | (((DWORD)((WORD)(hi))) << 16)))
#endif

#ifndef TRUE
#define TRUE   1
#endif

#ifndef FALSE
#define FALSE  0
#endif

#ifndef NULL
#ifdef __cplusplus
#define NULL    0
#else 
#define NULL    ((void *)0)
#endif 
#endif 

/*-------------------------------------------------------------------------*/

/*
** SIZE_VERSION  is the size of the version string (eg. "1.00")
** SIZE_STATUS   is the size of the status string (eg. "b" for beta)
** SIZE_REVISION is the size of the status revision string (eg. "00")
*/
#define SIZE_VERSION    5
#define SIZE_STATUS     2
#define SIZE_REVISION   5

#ifdef __GNUC__
#define PACKED __attribute__((packed))
#else
#define PACKED
#endif

#ifdef ENABLE_DPF       /* Debug_printf() */

#define DPF(exp)  printf(#exp "\n")
#define DPF1(exp) printf(#exp " = %d\n", exp)
#define DPF2(exp1, exp2) printf(#exp1 "=%d  " #exp2 "=%d\n", exp1, exp2)
#define DPFL(exp) printf(#exp " = %x\n", exp)

#else 

#define DPF(exp) ((void)0)
#define DPF1(exp) ((void)0)
#define DPFL(exp) ((void)0)

#endif 


/*-------------------------------------------------------------------------*/

enum
{
   ERR_OK = 0,                      /* No error, call was successful. */
   ERR_FAILED,                      /* General purpose failure.       */

   ERR_UNKNOWN_DEVICE,
   ERR_INVALID_PARAMETER,     /* Function was called with invalid parameter. */
   ERR_HAL_BAD_ARG,
   ERR_INVALID_STD_DEVICE,

   ERR_PCI_DRIVER_NOT_FOUND,
   ERR_PCI_BRIDGE_ADAPTER_NOT_FOUND,

   ERR_CLKI_NOT_IN_TABLE,
   ERR_CLKI2_NOT_IN_TABLE,
   ERR_DISPLAY_NOT_ENABLED,
   ERR_NOT_ENOUGH_MEMORY
};

/*******************************************
 * Definitions for seGetId()
 *******************************************/
enum
{
   ID_S1D13506_REV0,
   ID_S1D13506_REV1,
   ID_UNKNOWN = 0xff,
};

/*
** DetectEndian is used to determine whether the most significant
** and least significant bytes are reversed by the given compiler.
*/
#define ENDIAN       0x1234
#define REV_ENDIAN   0x3412


enum
{
   HAL_RED,
   HAL_GREEN,
   HAL_BLUE
};

/*************************************************************************/

/*
** Definitions for HAL_STRUCT.dwFlags
*/
#define fVALID_LCD         0x00000001
#define fVALID_CRT         0x00000002
#define fVALID_TV          0x00000004
#define fFIXED_CLKI        0x00000008
#define fFIXED_CLKI2       0x00000010
#define fFIXED_DIVLCDPCLK  0x00000020
#define fFIXED_DIVCRTPCLK  0x00000040
#define fBUSCLK2           0x00000080
#define fMEMORY_512K       0x00000100
#define fMEMORY_1M         0x00000200


/*************************************************************************/

/*
** Definitions for "regDisplayMode" in seInitReg(),
** for "display" in seInitCursor(), and for "display" in seInitCursor().
*/
#define LCD      0x01
#define CRT      0x02
#define TV       0x04


/*
** The S1D13506 cannot show more than 2 separate images.
*/
#define MAX_DISP_SURFACE   2

/*
** Definitions for seGetLcdOrientation()
*/
#define LANDSCAPE   0x00
#define ROTATE90    0x01
#define ROTATE180   0x02
#define ROTATE270   (ROTATE90 | ROTATE180)

/*************************************************************************/

#pragma pack(1)

typedef struct
{
WORD index;
WORD val;   /* It is easier for the compiler to pack words instead of bytes. */
} PACKED defReg;



typedef struct tagHalStruct
{
   char  szIdString[16];
   WORD  wDetectEndian;
   WORD  wSize;

   DWORD dwFlags;
   defReg Regs[MAX_REG];

   DWORD dwClkI;                  /* Input Clock Frequency (in kHz) */
   DWORD dwClkI2;                 /* Input Clock 2 Frequency (in kHz) */
   DWORD dwBusClk;                /* Bus Clock Frequency (in kHz) */
   DWORD dwRegisterAddress;       /* Starting address of registers */
   DWORD dwDisplayMemoryAddress;  /* Starting address of display buffer memory */
   WORD  wPanelFrameRate;         /* Desired panel frame rate */
   WORD  wCrtTvFrameRate;         /* Desired CRT rate */
   WORD  wMemorySpeed;            /* Memory speed in ns */
   WORD  wRefreshTime;            /* DRAM refresh Time in us */
   WORD  wTrc;                    /* Ras to Cas Delay in ns */
   WORD  wTrp;                    /* Ras Precharge time in ns */
   WORD  wTras;                   /* Ras Pulse Width time in ns */
   WORD  wTrac;                   /* Ras Access Charge time in ns */
   WORD  wTVFlickerFilter;        /* Enable TV flicker filter */
} PACKED HAL_STRUCT;

#pragma pack()

typedef HAL_STRUCT * PHAL_STRUCT;

#ifdef INTEL_DOS
 typedef HAL_STRUCT far * LPHAL_STRUCT;
#else
 typedef HAL_STRUCT * LPHAL_STRUCT;
#endif

/*=========================================================================*/
/*                         FUNCTION  PROTO-TYPES                           */
/*=========================================================================*/


/*---------------------------- HAL Support --------------------------------*/

int seRegisterDevice(const LPHAL_STRUCT lpHalInfo);
int seHalTerminate(void);
DWORD seGetInstalledMemorySize(void);


/*
** Definitions for flags in seInitReg()
*/
#define CLEAR_MEM          0x0001

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线欧美小视频| 日韩午夜av一区| 美女视频黄a大片欧美| 久久久久国产精品麻豆 | 成人性生交大片免费看视频在线| 亚洲三级免费观看| 精品国产91久久久久久久妲己| 99re热这里只有精品免费视频 | 国产资源精品在线观看| 亚洲美女屁股眼交3| 久久综合九色综合97婷婷女人| 91福利社在线观看| 高清不卡一二三区| 国内精品写真在线观看| 亚洲成av人片一区二区三区| 国产无人区一区二区三区| 欧美一区二区三区视频免费| 色综合亚洲欧洲| 成人精品在线视频观看| 国产在线精品免费av| 日韩电影在线免费观看| 亚洲激情欧美激情| 国产精品久久夜| 国产目拍亚洲精品99久久精品| 777色狠狠一区二区三区| 91福利精品视频| 91国模大尺度私拍在线视频| 91在线视频免费观看| 高清在线不卡av| 国产999精品久久久久久绿帽| 美女网站色91| 久久精品72免费观看| 日本不卡视频在线观看| 艳妇臀荡乳欲伦亚洲一区| 亚洲色图色小说| 亚洲视频一区在线观看| 亚洲色图欧洲色图婷婷| 亚洲猫色日本管| 亚洲精品欧美二区三区中文字幕| 亚洲欧洲中文日韩久久av乱码| 国产精品色婷婷| 国产精品盗摄一区二区三区| 中文久久乱码一区二区| 中文字幕在线观看不卡视频| 亚洲欧洲成人精品av97| 亚洲视频小说图片| 亚洲精品久久7777| 一区二区三区 在线观看视频| 一区二区久久久久久| 一区二区三区在线观看国产| 亚洲午夜精品网| 人人狠狠综合久久亚洲| 久久精品二区亚洲w码| 国产美女久久久久| av一二三不卡影片| 欧美中文字幕亚洲一区二区va在线| 在线观看91视频| 欧美丰满美乳xxx高潮www| 91精品国产91久久综合桃花 | 欧美激情自拍偷拍| 亚洲欧洲国产专区| 亚洲大尺度视频在线观看| 免费精品视频在线| 国产精品乡下勾搭老头1| 成人国产精品免费网站| 在线观看亚洲精品| 日韩一区二区三区高清免费看看| 精品日韩欧美一区二区| 中文字幕一区二区三区av| 一区二区三区精品| 日本成人在线网站| 国产成人久久精品77777最新版本| 波多野结衣在线一区| 欧美伊人精品成人久久综合97| 5566中文字幕一区二区电影| 久久老女人爱爱| 亚洲综合偷拍欧美一区色| 青青草原综合久久大伊人精品优势| 国产一区二区三区四区五区入口 | 欧美mv日韩mv亚洲| 国产亚洲精品aa午夜观看| 亚洲欧美日韩在线不卡| 丝袜亚洲另类丝袜在线| 国产成人综合在线播放| 精品剧情在线观看| 日韩一区有码在线| 日韩av网站在线观看| 成人精品国产一区二区4080| 欧美高清www午色夜在线视频| 久久午夜老司机| 亚洲高清中文字幕| 成人深夜在线观看| 日韩亚洲欧美在线| 中文字幕二三区不卡| 秋霞成人午夜伦在线观看| 成人av资源站| 久久午夜羞羞影院免费观看| 亚洲成人av资源| 99久久婷婷国产| www激情久久| 五月综合激情婷婷六月色窝| eeuss鲁一区二区三区| 精品成人一区二区三区| 午夜天堂影视香蕉久久| 不卡av免费在线观看| 久久久五月婷婷| 美女脱光内衣内裤视频久久网站 | 久久亚洲精精品中文字幕早川悠里| 亚洲女同ⅹxx女同tv| 国产精品99久久久| 欧美精品久久久久久久久老牛影院| 中文子幕无线码一区tr| 久久超级碰视频| 制服.丝袜.亚洲.另类.中文| 亚洲色图色小说| jlzzjlzz亚洲日本少妇| 久久久激情视频| 精品一区二区日韩| 欧美精品在线观看播放| 亚洲一级二级在线| 色综合久久综合网欧美综合网| 久久久久久亚洲综合| 久久精品国产精品亚洲红杏| 4438亚洲最大| 日韩国产在线观看一区| 欧美视频在线不卡| 一级日本不卡的影视| 99这里都是精品| 国产精品福利一区二区| 国产aⅴ综合色| 欧美激情在线看| 丁香天五香天堂综合| 久久久国产精品麻豆| 国产麻豆精品在线观看| 久久伊人中文字幕| 狠狠色丁香婷婷综合久久片| 日韩精品在线网站| 精品一区二区在线看| 欧美电影精品一区二区| 狠狠v欧美v日韩v亚洲ⅴ| 精品国产91乱码一区二区三区 | 性做久久久久久免费观看| 欧美三级午夜理伦三级中视频| 亚洲一卡二卡三卡四卡| 欧美人与禽zozo性伦| 日韩国产欧美三级| 日韩精品一区二区三区四区视频| 毛片av一区二区| 精品国产乱码久久久久久夜甘婷婷 | 欧美日韩精品福利| 日本网站在线观看一区二区三区 | 水野朝阳av一区二区三区| 欧美日韩国产色站一区二区三区| 亚洲chinese男男1069| 欧美精品亚洲二区| 久久99久久99| 国产日韩精品一区二区浪潮av | 精品国产乱码久久| 国产成人免费视频| 亚洲精品乱码久久久久久| 欧美日韩一区二区在线视频| 日本成人中文字幕| 国产三级精品视频| 色猫猫国产区一区二在线视频| 日欧美一区二区| 久久免费午夜影院| 99精品久久免费看蜜臀剧情介绍| 亚洲综合另类小说| 日韩精品自拍偷拍| 99re亚洲国产精品| 日本成人在线不卡视频| 久久久高清一区二区三区| 日本久久一区二区三区| 免费高清在线视频一区·| 国产精品丝袜在线| 欧美三级视频在线播放| 韩国v欧美v日本v亚洲v| 亚洲欧美福利一区二区| 日韩亚洲欧美一区二区三区| www.爱久久.com| 奇米影视一区二区三区| 中文字幕va一区二区三区| 欧美天天综合网| 国产美女视频一区| 亚洲成人综合视频| 中文字幕av免费专区久久| 在线观看www91| 国产精品一区三区| 午夜电影网一区| 国产精品毛片无遮挡高清| 欧美日本在线一区| 国产a久久麻豆| 日本美女一区二区三区视频| 国产精品乱人伦中文| 欧美日韩高清影院| 成人短视频下载| 韩国三级中文字幕hd久久精品| 亚洲精品伦理在线| 欧美国产乱子伦| 日韩一区二区在线看|