atapi.h

来自「em86xx 完整启动程序,支持网络下载与串通下载」· C头文件 代码 · 共 54 行

H
54
字号
/***************************************** Copyright (c) 2002-2004 Sigma Designs, Inc. All Rights Reserved Proprietary and Confidential *****************************************//* This file is part of the EM86XX boot loader *//* * atapi.h * * ATAPI support * * modified from jasper boot loader by Ho Lee 03/09/2004 */#ifndef __BOOTLOADER_ATAPI_H#define __BOOTLOADER_ATAPI_H// atapi error codes#define ATAPIRES_OK         0           // i/o done#define ATAPIRES_ERR        1           // i/o finished with error#define ATAPIRES_NOTRDY     2           // controller not ready#define ATAPIRES_NODRQ      3           // no data request#define ATAPIRES_INVDIR     4           // invalid bus phase direction#define ATAPIRES_OVERRUN    5           // data overrun#define ATAPIRES_UNDERRUN   6           // data underrun#define ATAPIRES_BM_ERROR1  7           // interrupt came but status indicated error#define ATAPIRES_BM_ERROR2  8           // interrupt came but io is not completed#define ATAPIDIR_NONE       0#define ATAPIDIR_READ       1#define ATAPIDIR_WRITE      2typedef struct tag_packet_command {    unsigned char *buffer;              // data buffer (used by specific atapi commands to read data from atapi device)    int buflen;                         // length of buffer    int stat;                           // result of command (0 = success, !0 = error) see ATAPIRES_xxx definitions    unsigned char c[12];                // 12 byte atapi packet command    int data_direction;                 // ATAPIDIR_xxx    // reserved for driver use    int error;    unsigned char *addr;    int count;} packet_command_t;// function prototypesint atapi_eject(int drive, int open);int atapi_readsense(int drive, char *sensedata);int atapi_waitready(int drive, int timeout);int atapi_readsector(int drive, void *buf, unsigned long first, int nsector);#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?