ATA.h File Reference

#include <bus_manager.h>
#include <iovec.h>
#include <lendian_bitfield.h>
#include <pnp/pnp_driver.h>
#include "r5_wrapper.h"
#include <KernelExport.h>

Go to the source code of this file.

Classes

union  ata_task_file
struct  ata_bus_for_channel_interface
struct  ata_channel_interface

Defines

#define ATA_BUS_FOR_CHANNEL_INTERFACE   "ata/bus/for_channel/v1"
#define ATA_BUS_MANAGER_MODULE_NAME   "ata/ata_bus_manager/bus/v1"
#define ATA_CHANNEL_TYPE   "ata/channel"
#define ATA_CHANNEL_MAX_DEVICES_ITEM   "ata/max_devices"
#define ATA_CHANNEL_CAN_DMA_ITEM   "ata/can_DMA"
#define ATA_CHANNEL_CAN_CQ_ITEM   "ata/can_CQ"
#define ATA_CHANNEL_INTERFACE   "ata/channel/v1"

Typedefs

typedef ata_bus_info * ata_bus
typedef ata_bus_for_channel_interface ata_bus_for_channel_interface
typedef ata_channel_infoata_channel_cookie
typedef ata_channel_interface ata_channel_interface

Enumerations

enum  { ata_mode_chs = 5, ata_mode_lba = 7 }
enum  ata_reg_mask {
  ata_mask_features = 0x01, ata_mask_sector_count = 0x02, ata_mask_sector_number = 0x04, ata_mask_cylinder_low = 0x08,
  ata_mask_cylinder_high = 0x10, ata_mask_LBA_low = 0x04, ata_mask_LBA_mid = 0x08, ata_mask_LBA_high = 0x10,
  ata_mask_byte_count = 0x18, ata_mask_error = 0x01, ata_mask_ireason = 0x02, ata_mask_device_head = 0x20,
  ata_mask_command = 0x40, ata_mask_status = 0x40, ata_mask_features_48 = 0x80 | ata_mask_features, ata_mask_sector_count_48 = 0x100 | ata_mask_sector_count,
  ata_mask_LBA_low_48 = 0x200 | ata_mask_LBA_low, ata_mask_LBA_mid_48 = 0x400 | ata_mask_LBA_mid, ata_mask_LBA_high_48 = 0x800 | ata_mask_LBA_high, ata_mask_HOB = 0xf80
}
enum  {
  ata_status_err = 0x01, ata_status_index = 0x02, ata_status_corr = 0x04, ata_status_drq = 0x08,
  ata_status_dsc = 0x10, ata_status_service = 0x10, ata_status_dwf = 0x20, ata_status_dma = 0x20,
  ata_status_dmrd = 0x20, ata_status_df = 0x20, ata_status_drdy = 0x40, ata_status_bsy = 0x80
}
enum  { ata_devctrl_nien = 0x02, ata_devctrl_srst = 0x04, ata_devctrl_bit3 = 0x08, ata_devctrl_hob = 0x80 }
enum  {
  ata_error_abrt = 0x04, ata_error_icrc = 0x80, ata_error_unc = 0x40, ata_error_wp = 0x40,
  ata_error_mc = 0x20, ata_error_idnf = 0x10, ata_error_mcr = 0x08, ata_error_nm = 0x02
}

Variables

enum { ... }  ata_status_mask
enum { ... }  ata_devcntrl_mask
enum { ... }  ata_error_mask


Define Documentation

#define ATA_BUS_FOR_CHANNEL_INTERFACE   "ata/bus/for_channel/v1"
 

#define ATA_BUS_MANAGER_MODULE_NAME   "ata/ata_bus_manager/bus/v1"
 

#define ATA_CHANNEL_CAN_CQ_ITEM   "ata/can_CQ"
 

#define ATA_CHANNEL_CAN_DMA_ITEM   "ata/can_DMA"
 

#define ATA_CHANNEL_INTERFACE   "ata/channel/v1"
 

#define ATA_CHANNEL_MAX_DEVICES_ITEM   "ata/max_devices"
 

#define ATA_CHANNEL_TYPE   "ata/channel"
 


Typedef Documentation

typedef struct ata_bus_info* ata_bus
 

typedef struct ata_bus_for_channel_interface ata_bus_for_channel_interface
 

typedef struct ata_channel_info* ata_channel_cookie
 

typedef struct ata_channel_interface ata_channel_interface
 


Enumeration Type Documentation

anonymous enum
 

Enumerator:
ata_mode_chs 
ata_mode_lba 

anonymous enum
 

Enumerator:
ata_status_err 
ata_status_index 
ata_status_corr 
ata_status_drq 
ata_status_dsc 
ata_status_service 
ata_status_dwf 
ata_status_dma 
ata_status_dmrd 
ata_status_df 
ata_status_drdy 
ata_status_bsy 

anonymous enum
 

Enumerator:
ata_devctrl_nien 
ata_devctrl_srst 
ata_devctrl_bit3 
ata_devctrl_hob 

anonymous enum
 

Enumerator:
ata_error_abrt 
ata_error_icrc 
ata_error_unc 
ata_error_wp 
ata_error_mc 
ata_error_idnf 
ata_error_mcr 
ata_error_nm 

enum ata_reg_mask
 

Enumerator:
ata_mask_features 
ata_mask_sector_count 
ata_mask_sector_number 
ata_mask_cylinder_low 
ata_mask_cylinder_high 
ata_mask_LBA_low 
ata_mask_LBA_mid 
ata_mask_LBA_high 
ata_mask_byte_count 
ata_mask_error 
ata_mask_ireason 
ata_mask_device_head 
ata_mask_command 
ata_mask_status 
ata_mask_features_48 
ata_mask_sector_count_48 
ata_mask_LBA_low_48 
ata_mask_LBA_mid_48 
ata_mask_LBA_high_48 
ata_mask_HOB 


Variable Documentation

enum { ... } ata_devcntrl_mask
 

enum { ... } ata_error_mask
 

enum { ... } ata_status_mask
 


Copyright 2005 by yellowTAB GmbH, Be Inc., Palm Source Inc. and their respective legal successors
All rights reserved.