ReactOS 0.4.15-dev-7834-g00c4b3d
pic.h File Reference

Go to the source code of this file.

Classes

union  _I8259_ICW1
 
union  _I8259_ICW2
 
union  _I8259_ICW3
 
union  _I8259_ICW4
 
union  _I8259_OCW2
 
union  _I8259_OCW3
 
union  _I8259_ISR
 
union  _EISA_ELCR
 
union  _PIC_MASK
 

Macros

#define PIC1_CONTROL_PORT   0x00
 
#define PIC1_DATA_PORT   0x02
 
#define PIC2_CONTROL_PORT   0x08
 
#define PIC2_DATA_PORT   0x0A
 
#define PIC_TIMER_IRQ   0
 
#define PIC_CASCADE_IRQ   7
 
#define PIC_RTC_IRQ   15
 
#define EISA_ELCR_MASTER   0x98D2
 
#define EISA_ELCR_SLAVE   0x98D4
 

Typedefs

typedef enum _I8259_ICW1_OPERATING_MODE I8259_ICW1_OPERATING_MODE
 
typedef enum _I8259_ICW1_INTERRUPT_MODE I8259_ICW1_INTERRUPT_MODE
 
typedef enum _I8259_ICW1_INTERVAL I8259_ICW1_INTERVAL
 
typedef enum _I8259_ICW4_SYSTEM_MODE I8259_ICW4_SYSTEM_MODE
 
typedef enum _I8259_ICW4_EOI_MODE I8259_ICW4_EOI_MODE
 
typedef enum _I8259_ICW4_BUFFERED_MODE I8259_ICW4_BUFFERED_MODE
 
typedef enum _I8259_READ_REQUEST I8259_READ_REQUEST
 
typedef enum _I8259_EOI_MODE I8259_EOI_MODE
 
typedef union _I8259_ICW1 I8259_ICW1
 
typedef union _I8259_ICW1PI8259_ICW1
 
typedef union _I8259_ICW2 I8259_ICW2
 
typedef union _I8259_ICW2PI8259_ICW2
 
typedef union _I8259_ICW3 I8259_ICW3
 
typedef union _I8259_ICW3PI8259_ICW3
 
typedef union _I8259_ICW4 I8259_ICW4
 
typedef union _I8259_ICW4PI8259_ICW4
 
typedef union _I8259_OCW2 I8259_OCW2
 
typedef union _I8259_OCW2PI8259_OCW2
 
typedef union _I8259_OCW3 I8259_OCW3
 
typedef union _I8259_OCW3PI8259_OCW3
 
typedef union _I8259_ISR I8259_ISR
 
typedef union _I8259_ISRPI8259_ISR
 
typedef I8259_ISR I8259_IDR
 
typedef I8259_ISRPI8259_IDR
 
typedef union _EISA_ELCR EISA_ELCR
 
typedef union _EISA_ELCRPEISA_ELCR
 
typedef union _PIC_MASK PIC_MASK
 
typedef union _PIC_MASKPPIC_MASK
 

Enumerations

enum  _I8259_ICW1_OPERATING_MODE { Cascade , Single , Cascade , Single }
 
enum  _I8259_ICW1_INTERRUPT_MODE { EdgeTriggered , LevelTriggered , EdgeTriggered , LevelTriggered }
 
enum  _I8259_ICW1_INTERVAL { Interval8 , Interval4 , Interval8 , Interval4 }
 
enum  _I8259_ICW4_SYSTEM_MODE { Mcs8085Mode , New8086Mode , Mcs8085Mode , New8086Mode }
 
enum  _I8259_ICW4_EOI_MODE { NormalEoi , AutomaticEoi , NormalEoi , AutomaticEoi }
 
enum  _I8259_ICW4_BUFFERED_MODE {
  NonBuffered , NonBuffered2 , BufferedSlave , BufferedMaster ,
  NonBuffered , NonBuffered2 , BufferedSlave , BufferedMaster
}
 
enum  _I8259_READ_REQUEST {
  InvalidRequest , InvalidRequest2 , ReadIdr , ReadIsr ,
  InvalidRequest , InvalidRequest2 , ReadIdr , ReadIsr
}
 
enum  _I8259_EOI_MODE {
  RotateAutoEoiClear , NonSpecificEoi , InvalidEoiMode , SpecificEoi ,
  RotateAutoEoiSet , RotateNonSpecific , SetPriority , RotateSpecific ,
  RotateAutoEoiClear , NonSpecificEoi , InvalidEoiMode , SpecificEoi ,
  RotateAutoEoiSet , RotateNonSpecific , SetPriority , RotateSpecific
}
 

Macro Definition Documentation

◆ EISA_ELCR_MASTER

#define EISA_ELCR_MASTER   0x98D2

Definition at line 190 of file pic.h.

◆ EISA_ELCR_SLAVE

#define EISA_ELCR_SLAVE   0x98D4

Definition at line 191 of file pic.h.

◆ PIC1_CONTROL_PORT

#define PIC1_CONTROL_PORT   0x00

Definition at line 10 of file pic.h.

◆ PIC1_DATA_PORT

#define PIC1_DATA_PORT   0x02

Definition at line 11 of file pic.h.

◆ PIC2_CONTROL_PORT

#define PIC2_CONTROL_PORT   0x08

Definition at line 12 of file pic.h.

◆ PIC2_DATA_PORT

#define PIC2_DATA_PORT   0x0A

Definition at line 13 of file pic.h.

◆ PIC_CASCADE_IRQ

#define PIC_CASCADE_IRQ   7

Definition at line 16 of file pic.h.

◆ PIC_RTC_IRQ

#define PIC_RTC_IRQ   15

Definition at line 17 of file pic.h.

◆ PIC_TIMER_IRQ

#define PIC_TIMER_IRQ   0

Definition at line 15 of file pic.h.

Typedef Documentation

◆ EISA_ELCR

typedef union _EISA_ELCR EISA_ELCR

◆ I8259_EOI_MODE

◆ I8259_ICW1

typedef union _I8259_ICW1 I8259_ICW1

◆ I8259_ICW1_INTERRUPT_MODE

◆ I8259_ICW1_INTERVAL

◆ I8259_ICW1_OPERATING_MODE

◆ I8259_ICW2

typedef union _I8259_ICW2 I8259_ICW2

◆ I8259_ICW3

typedef union _I8259_ICW3 I8259_ICW3

◆ I8259_ICW4

typedef union _I8259_ICW4 I8259_ICW4

◆ I8259_ICW4_BUFFERED_MODE

◆ I8259_ICW4_EOI_MODE

◆ I8259_ICW4_SYSTEM_MODE

◆ I8259_IDR

Definition at line 185 of file pic.h.

◆ I8259_ISR

typedef union _I8259_ISR I8259_ISR

◆ I8259_OCW2

typedef union _I8259_OCW2 I8259_OCW2

◆ I8259_OCW3

typedef union _I8259_OCW3 I8259_OCW3

◆ I8259_READ_REQUEST

◆ PEISA_ELCR

typedef union _EISA_ELCR * PEISA_ELCR

◆ PI8259_ICW1

typedef union _I8259_ICW1 * PI8259_ICW1

◆ PI8259_ICW2

typedef union _I8259_ICW2 * PI8259_ICW2

◆ PI8259_ICW3

typedef union _I8259_ICW3 * PI8259_ICW3

◆ PI8259_ICW4

typedef union _I8259_ICW4 * PI8259_ICW4

◆ PI8259_IDR

typedef I8259_ISR * PI8259_IDR

Definition at line 185 of file pic.h.

◆ PI8259_ISR

typedef union _I8259_ISR * PI8259_ISR

◆ PI8259_OCW2

typedef union _I8259_OCW2 * PI8259_OCW2

◆ PI8259_OCW3

typedef union _I8259_OCW3 * PI8259_OCW3

◆ PIC_MASK

typedef union _PIC_MASK PIC_MASK

◆ PPIC_MASK

typedef union _PIC_MASK * PPIC_MASK

Enumeration Type Documentation

◆ _I8259_EOI_MODE

Enumerator
RotateAutoEoiClear 
NonSpecificEoi 
InvalidEoiMode 
SpecificEoi 
RotateAutoEoiSet 
RotateNonSpecific 
SetPriority 
RotateSpecific 
RotateAutoEoiClear 
NonSpecificEoi 
InvalidEoiMode 
SpecificEoi 
RotateAutoEoiSet 
RotateNonSpecific 
SetPriority 
RotateSpecific 

Definition at line 68 of file pic.h.

69{
enum _I8259_EOI_MODE I8259_EOI_MODE
@ NonSpecificEoi
Definition: pic.h:71
@ RotateSpecific
Definition: pic.h:77
@ RotateAutoEoiSet
Definition: pic.h:74
@ RotateNonSpecific
Definition: pic.h:75
@ InvalidEoiMode
Definition: pic.h:72
@ SetPriority
Definition: pic.h:76
@ SpecificEoi
Definition: pic.h:73
@ RotateAutoEoiClear
Definition: pic.h:70

◆ _I8259_ICW1_INTERRUPT_MODE

Enumerator
EdgeTriggered 
LevelTriggered 
EdgeTriggered 
LevelTriggered 

Definition at line 28 of file pic.h.

29{
@ EdgeTriggered
Definition: pic.h:30
@ LevelTriggered
Definition: pic.h:31
enum _I8259_ICW1_INTERRUPT_MODE I8259_ICW1_INTERRUPT_MODE

◆ _I8259_ICW1_INTERVAL

Enumerator
Interval8 
Interval4 
Interval8 
Interval4 

Definition at line 34 of file pic.h.

35{
@ Interval4
Definition: pic.h:37
@ Interval8
Definition: pic.h:36
enum _I8259_ICW1_INTERVAL I8259_ICW1_INTERVAL

◆ _I8259_ICW1_OPERATING_MODE

Enumerator
Cascade 
Single 
Cascade 
Single 

Definition at line 22 of file pic.h.

23{
24 Cascade,
25 Single
@ Single
Definition: pic.h:25
@ Cascade
Definition: pic.h:24
enum _I8259_ICW1_OPERATING_MODE I8259_ICW1_OPERATING_MODE

◆ _I8259_ICW4_BUFFERED_MODE

Enumerator
NonBuffered 
NonBuffered2 
BufferedSlave 
BufferedMaster 
NonBuffered 
NonBuffered2 
BufferedSlave 
BufferedMaster 

Definition at line 52 of file pic.h.

53{
@ BufferedSlave
Definition: pic.h:56
@ NonBuffered2
Definition: pic.h:55
@ NonBuffered
Definition: pic.h:54
@ BufferedMaster
Definition: pic.h:57
enum _I8259_ICW4_BUFFERED_MODE I8259_ICW4_BUFFERED_MODE

◆ _I8259_ICW4_EOI_MODE

Enumerator
NormalEoi 
AutomaticEoi 
NormalEoi 
AutomaticEoi 

Definition at line 46 of file pic.h.

47{
@ NormalEoi
Definition: pic.h:48
@ AutomaticEoi
Definition: pic.h:49
enum _I8259_ICW4_EOI_MODE I8259_ICW4_EOI_MODE

◆ _I8259_ICW4_SYSTEM_MODE

Enumerator
Mcs8085Mode 
New8086Mode 
Mcs8085Mode 
New8086Mode 

Definition at line 40 of file pic.h.

41{
@ Mcs8085Mode
Definition: pic.h:42
@ New8086Mode
Definition: pic.h:43
enum _I8259_ICW4_SYSTEM_MODE I8259_ICW4_SYSTEM_MODE

◆ _I8259_READ_REQUEST

Enumerator
InvalidRequest 
InvalidRequest2 
ReadIdr 
ReadIsr 
InvalidRequest 
InvalidRequest2 
ReadIdr 
ReadIsr 

Definition at line 60 of file pic.h.

61{
64 ReadIdr,
enum _I8259_READ_REQUEST I8259_READ_REQUEST
@ ReadIsr
Definition: pic.h:65
@ InvalidRequest
Definition: pic.h:62
@ InvalidRequest2
Definition: pic.h:63
@ ReadIdr
Definition: pic.h:64