NeXTSTEPDRIVERKIT:Chapter5 TypesandConstants

From 흡혈양파의 번역工房
Jump to navigation Jump to search
Types and Constants(타입과 상수)

정의된 타입(Defined Types)

IOAddressRange

정의된 위치 driverkit/IODeviceInspector.h

개요

typedef struct IOAddressRange {
unsigned start;
unsigned length;
} IOAddressRange

설명 Used to describe address ranges.
주소 범위를 설명하는 데 사용됩니다.


IOCache

정의된 위치 driverkit/driverTypes.h

개요

typedef enum {
IO_CacheOff,
IO_WriteThrough,
IO_CopyBack
} IOCache


IOChannelCommand

정의된 위치 driverkit/driverTypes.h

개요 typedef unsigned int IOChannelCommand

설명 Used <<where?>> to specify caching. IO_CacheOff inhibits the cache.
<<where?>> 를 사용하여 캐싱을 지정합니다. IO_CacheOff는 캐시를 금지합니다.


IOChannelDequeueOption

정의된 위치 driverkit/driverTypes.h

개요 typedef unsigned int IOChannelDequeueOption

설명 없음


IOChannelEnqueueOption

정의된 위치 driverkit/driverTypes.h

개요 typedef unsigned int IOChannelEnqueueOption

설명 없음


IOCharParameter

정의된 위치 driverkit/driverTypes.h

개요 typedef char IOCharParameter[IO_MAX_PARAMETER_ARRAY_LENGTH]

설명 Standard type for a character parameter value, used by the get/set parameter functionality provided by IODevice and IODeviceMaster.
IODevice 및 IODeviceMaster 에서 제공하는 get/set 매개 변수 기능에 사용되는 문자 매개 변수 값의 표준 형식입니다.


IODDMMsg

정의된 위치 driverkit/debuggingMsg.h

개요

typedef struct {
msg_header_t header;
msg_type_t argType;
unsigned index;
unsigned maskValue;
unsigned status;
unsigned timestampHighInt;
unsigned timestampLowInt;
int cpuNumber;
msg_type_t stringType;
char string[IO_DDM_STRING_LENGTH];
} IODDMMsg

설명 The message format understood by the Driver Debugging Module. You don't usually have to use this message, as long as DDMViewer <<check>> is sufficient for your needs.
드라이버 디버깅 모듈에서 이해할 수 있는 메시지 형식입니다. DDMViewer <<check>> 로 충분하다면, 이 메시지를 사용할 필요는 없습니다.


IODescriptorCommand

정의된 위치 driverkit/driverTypes.h

개요 typedef unsigned char IODescriptorCommand

설명 없음


IODeviceNumber

정의된 위치 driverkit/driverTypes.h

개요 typedef unsigned int IODeviceNumber

설명 없음


IODeviceStyle

정의된 위치 driverkit/driverTypes.h

개요

typedef enum {
IO_DirectDevice,
IO_IndirectDevice,
IO_PseudoDevice
} IODeviceStyle

설명 Returned by the deviceStyle method to specify whether the driver is a direct device driver (one that directly controls hardware), an indirect device driver (one that controls hardware using a direct device driver), or a pseudodriver (one that controls no hardware). The driver style determines how it's configured into the system, as described <<somewhere>>.
드라이버가 직접 장치 드라이버 (하드웨어를 직접 제어하는 장치 드라이버)인지 간접 장치 드라이버 (직접 장치 드라이버를 사용하여 하드웨어를 제어하는 장치 드라이버) 또는 의사 드라이버 (하드웨어를 제어하지 않는 장치 드라이버)인지 여부를 지정하려면 deviceStyle 메서드에서 반환됩니다. 드라이버 스타일은 <<somewhere>> 에서 설명한대로 시스템에 구성되는 방법을 결정합니다.


IODisplayInfo

정의된 위치 bsd/dev/i386/displayDefs.h <<to be moved to driverkit/>>

개요

typedef struct{
int width;
int height;
int totalWidth;
int rowBytes;
int refreshRate;
void *frameBuffer;
IOBitsPerPixel bitsPerPixel;
IOColorSpace colorSpace;
unsigned int flags;
void *parameters;
} IODisplayInfo;

설명 This structure describes a video display. Each linear mode supported by an IOFrameBufferDisplay has a corresponding IODisplayInfo. <<Tell when it's used.>> The structure's fields are
이 구조체(structure)는 비디오 디스플레이를 설명합니다. IOFrameBufferDisplay 가 지원하는 각 선형(linear) 모드에는 해당 IODisplayInfo 가 있습니다. <<Tell when it's used.>> 구조의 필드는 다음과 같습니다.

width Width, in pixels
너비 (픽셀 단위)
height Height, in pixels
높이 (픽셀 단위)
totalWidth Width including undisplayed pixels
표시되지 않는 픽셀을 포함한 폭
rowBytes The number of bytes to get from one scanline to next. To determine this value, determine how many 8-bit bytes each pixel occupies (rounding up to an integer) and multiply this by the value of totalWidth. For example, a color display mode that uses 15 bits per pixel and has a totalWidth of 1024 has a rowBytes value of 2048.
하나의 스캔 라인에서 다음 스캔 라인으로 가져올 바이트 수. 이 값을 결정하려면 각 픽셀이 차지하는 8 비트 바이트 수 (정수로 반올림)를 결정하고 totalWidth 값을 곱하십시오. 예를 들어 픽셀 당 15 비트를 사용하고 totalWidth 가 1024 인 색상 표시 모드는 2048 의 rowBytes 값을 가집니다.
refreshRate Monitor refresh setting, in Hz <<how do you decide this?>>
모니터 새로 고침 설정, <<how do you decide this?>&#62 (Hz)
frameBuffer Pointer to origin of screen; untyped to force actual screen writes to be dependent on bitsPerPixel. The driver's initFromDeviceDescription: method should set this field to the value returned by mapFrameBufferAtPhysicalAddress:length:.
화면의 원점을 가리키는 포인터. 실제 화면 쓰기가 bitsPerPixel 에 종속되도록 하려면 유형이 지정되지 않음. 드라이버의 initFromDeviceDescription: 메소드는 이 필드를 mapFrameBufferAtPhysicalAddress:length: 에 의해 반환된 값으로 설정해야 합니다.
bitsPerPixel The memory space occupied by one pixel. 8-bit black and white display modes use the value IO_8BitsPerPixel, and "16-bit" color display modes that use 5 bits each for red, green, and blue use the value IO_15BitsPerPixel. See the documentation of the IOBitsPerPixel type for other values.
한 픽셀씩 차지하는 메모리 공간입니다. 8 비트 흑백 디스플레이 모드는 IO_8BitsPerPixel 값을 사용하고, 적색, 녹색 및 청색 각각 5 비트를 사용하는 "16비트" 컬러 디스플레이 모드는 IO_15BitsPerPixel 값을 사용합니다. 다른 값에 대해서는 IOBitsPerPixel 형식의 설명서를 참조하십시오.
colorSpace Specifies the sample-encoding format.<<what does that mean?>> Typically, this value is either IO_DISPLAY_ONEISWHITECOLORSPACE (for monochrome modes) or IO_DISPLAY_RGBCOLORSPACE (for color modes). See the documentation of the IOColorSpace type for other values.
샘플 인코딩 형식을 지정합니다. <<what does that mean?>> 일반적으로이 값은 IO_DISPLAY_ONEISWHITECOLORSPACE (단색 모드의 경우) 또는 IO_DISPLAY_RGBCOLORSPACE (컬러 모드의 경우) 중 하나입니다. 다른 값에 대해서는 IOColorSpace 형식의 설명서를 참조하십시오.
flags Flags used to indicate special requirements or conditions to DPS. Currently, this should always be zero. <<true? Or is it ignored?>>
DPS 에 특별한 요구 사항 또는 조건을 나타내는 데 사용되는 플래그. 현재이 값은 항상 0 이어야합니다. <<true? Or is it ignored?>>.
parameters Driver-specific parameters.
드라이버 관련 매개 변수.


Here's an array of IODisplayInfo structures for a driver that supports several monochrome and color modes:
다음은 여러 모노크롬 및 컬러 모드를 지원하는 드라이버용 IODisplayInfo 구조체의 배열입니다:

static const IODisplayInfo MyModes[MY_NUM_MODES] = {
    { 1024, 768, 1024, 1024, 66, 0,
    IO_8BitsPerPixel, IO_DISPLAY_ONEISWHITECOLORSPACE, 0, 0 },
    { 1280, 1024, 2048, 2048, 68, 0,
    IO_8BitsPerPixel, IO_DISPLAY_ONEISWHITECOLORSPACE, 0, 0 },
    { 800, 600, 800, 1600, 72, 0,
    IO_15BitsPerPixel, IO_DISPLAY_RGBCOLORSPACE, 0, 0 },
    { 1024, 768, 1024, 2048, 72, 0,
    IO_15BitsPerPixel, IO_DISPLAY_RGBCOLORSPACE, 0, 0 }
};


These structures correspond to the display modes specified in the device configuration bundle's Localizable.strings file:
이러한 구조는 장치 구성 번들(device configuration bundle)의 Localizable.strings 파일에 지정된 디스플레이 모드에 해당합니다.

"DisplayModes" = "Height:768 Width:1024 Refresh:66Hz ColorSpace: BW:8;
    Height:1024 Width:1280 Refresh: 68Hz ColorSpace: BW:8;
    Height: 768 Width:1024 Refresh: 72Hz ColorSpace: RGB:555/16;
    Height: 600 Width: 800 Refresh: 72Hz ColorSpace: RGB:555/16";


IODMAAlignment

정의된 위치 driverkit/driverTypes.h

개요

typedef struct {
unsigned readStart;
unsigned writeStart;
unsigned readLength;
unsigned writeLength;
} IODMAAlignment

설명 Used <<by whom?>> to specify DMA alignment. A field value of 0 means that alignment isn't restricted for values corresponding to the field.
<<by whom?>> 를 사용해서 DMA 정렬을 지정합니다. 필드 값 0 은 해당 필드에 해당하는 값에 대해 정렬이 제한되지 않음을 의미합니다.


IODMABuffer

정의된 위치 driverkit/driverTypes.h

개요 typedef void *IODMABuffer

설명 Used as a machine-independent type for a machine-dependent DMA buffer.
머신 의존적인 DMA 버퍼를 위한 머신 독립적 타입(machine-independent type)으로 사용된다.

참조

IOEISADMABuffer


IODMADirection

정의된 위치 driverkit/driverTypes.h

개요

typedef enum {
IO_DMARead,
IO_DMAWrite
} IODMADirection

설명 Used <<where?>> to specify the direction of DMA. IO_DMARead indicates a transfer from the device into system memory; IO_DMAWrite indicates a transfer from system memory to the device.
<<where?>> 를 사용해서 DMA 의 방향을 지정합니다. IO_DMARead 는 장치에서 시스템 메모리로의 전송을 나타냅니다. IO_DMAWrite 는 시스템 메모리에서 장치로의 전송을 나타냅니다.


IODMAStatus

정의된 위치 driverkit/driverTypes.h

개요

typedef enum {
IO_None,
IO_Complete,
IO_Running,
IO_Underrun,
IO_BusError,
IO_BufferError,
} IODMAStatus

설명 Used <<where?>> to specify machine-independent DMA channel status.
<<where?>> 를 사용해서 기기 독립적 DMA 채널 상태를 지정합니다.

IO_None 적절한 상태가 없음(No appropriate status)
IO_Complete DMA 채널 유휴 상태(DMA channel idle)
IO_Running DMA 채널 실행 중(DMA channel running)
IO_Underrun 언더런 또는 오버런(Underrun or overrun)
IO_BusError 버스 에러(Bus error)
IO_BufferError DMA 버퍼 에러(DMA buffer error)


IODMATransferMode

정의된 위치 driverkit/i386/directDevice.h

개요

typedef enum {
IO_Demand,
IO_Single,
IO_Block,
IO_Cascade,
} IODMATransferMode

설명 Used only in the setTransferMode:forChannel: method of the EISA/ISA category of IODirectDevice.
IODirectDevice 의 EISA/ISA 범주의 setTransferMode:forChannel: 메서드에서만 사용됩니다.


IOEISADMABuffer

정의된 위치 driverkit/i386/driverTypes.h

개요 typedef void *IOEISADMABuffer

설명 Used as a machine-dependent type for a DMA buffer.
DMA 버퍼에 대한 기계 종속 유형(machine-dependent type)으로 사용됩니다.


IOEISADMATiming

정의된 위치 driverkit/i386/directDevice.h

개요

typedef enum {
IO_Compatible,
IO_TypeA,
IO_TypeB,
IO_Burst,
} IOEISADMATiming

설명 Used only in the setDMATiming:forChannel: method of the EISA/ISA category of IODirectDevice.
IODirectDevice 의 EISA/ISA 범주의 setDMATiming:forChannel: 메서드에서만 사용됩니다.


IOEISADMATransferWidth

정의된 위치 driverkit/i386/directDevice.h

개요

typedef enum {
IO_8Bit,
IO_16BitWordCount,
IO_16BitByteCount,
IO_32Bit,
} IOEISADMATransferWidth

설명 Used only in the setDMATransferWidth:forChannel: method of the EISA/ISA category of IODirectDevice.
IODirectDevice 의 EISA/ISA 범주(category)의 setDMATransferWidth:forChannel: 메서드에서만 사용됩니다.


IOEISAInterruptHandler

정의된 위치 driverkit/i386/driverTypes.h

개요

typedef void (*IOEISAInterruptHandler)
(void *identity,
void *state,
unsigned int arg)

설명 없음


IOEISAPortAddress

정의된 위치 driverkit/i386/driverTypes.h

개요 typedef unsigned short IOEISAPortAddress

설명 없음


IOEISAStopRegisterMode

정의된 위치 driverkit/i386/directDevice.h

개요

typedef enum {
IO_StopRegisterEnable,
IO_StopRegisterDisable,
} IOEISAStopRegisterMode

설명 Used only in the setStopRegisterMode:forChannel: method of the EISA/ISA category of IODirectDevice.
IODirectDevice 의 EISA/ISA 범주(category)의 setStopRegisterMode:forChannel: 메서드에서만 사용됩니다.


IOIncrementMode

정의된 위치 driverkit/i386/directDevice.h

개요

typedef enum {
IO_Increment,
IO_Decrement,
} IOIncrementMode

설명 Used only in the setIncrementMode:forChannel: method of the EISA/ISA category of IODirectDevice.
IODirectDevice 의 EISA/ISA 범주(category)의 setIncrementMode:forChannel: 메서드에서만 사용됩니다.


IOInterruptHandler

정의된 위치 driverkit/driverTypes.h

개요

typedef void (*IOInterruptHandler)
(void *identity,
void *state,
unsigned int arg)

설명 없음


IOInterruptMsg

정의된 위치 driverkit/interruptMsg.h

개요

typedef struct {
msg_header_t header;
} IOInterruptMsg

설명 The format of the message sent by the kernel to a driver's interrupt handler.
커널에 의해 드라이버의 인터럽트 핸들러로 보내지는 메시지의 형식.


IOIntParameter

정의된 위치 driverkit/driverTypes.h

개요 typedef int IOIntParameter[IO_MAX_PARAMETER_ARRAY_LENGTH]

설명 Standard type for an integer parameter value, used by the get/set parameter functionality provided by IODevice and IODeviceMaster.
IODevice 및 IODeviceMaster 에서 제공하는 get/set 매개 변수 기능에 사용되는 정수 매개 변수 값의 표준 형식입니다.


IOIPCSpace

정의된 위치 driverkit/kernelDriver.h

개요

typedef enum {
IO_Kernel,
IO_KernelIOTask,
IO_CurrentTask
} IOIPCSpace

설명 Used only by the IOConvertPort() function to specify which space to convert the port from and to.
포트를 변환할 공간을 지정하기 위해 IOConvertPort() 함수에서만 사용됩니다.


IONamedValue

정의된 위치 driverkit/driverTypes.h

개요

typedef struct {
int value;
const char *name;
} IONamedValue

설명 Map between constants or enumerations and text description.
상수 또는 열거 형과 텍스트 설명 사이를 매핑합니다.


IOObjectNumber

정의된 위치 driverkit/driverTypes.h

개요 typedef unsigned int IOObjectNumber

설명 없음


IOParameterName

정의된 위치 driverkit/driverTypes.h

개요 typedef char IOParameterName[IO_MAX_PARAMETER_NAME_LENGTH]

설명 Standard type for a parameter name, used by the get/set parameter functionality provided by IODevice and IODeviceMaster.
IODevice 및 IODeviceMaster 에서 제공하는 get/set 매개 변수 기능에 사용되는 매개 변수 이름의 표준 유형입니다.


IORange

정의된 위치 driverkit/driverTypes.h

개요

typedef struct range {
unsigned int start;
unsigned int size;
} IORange

설명 Indicates a range of values. Used for memory regions, port regions, and so on.
값의 범위를 나타냅니다. 메모리 영역, 포트 영역 등에 사용됩니다.


IOReturn

정의된 위치 driverkit/return.h

개요 typedef int IOReturn

설명 IOReturn values are returned by many Driver Kit classes.
IOReturn 값은 많은 Driver Kit 클래스에서 반환됩니다.


IOSCSIRequest

정의된 위치 driverkit/scsiTypes.h

개요

typedef struct {
unsigned char target;
unsigned char lun;
cdb_t cdb;
BOOL read;
int maxTransfer;
int timeoutLength;
unsigned disconnect:1;
unsigned pad:31;
sc_status_t driverStatus;
unsigned char scsiStatus;
int bytesTransferred;
ns_time_t totalTime;
ns_time_t latentTime;
esense_reply_t senseData;
} IOSCSIRequest

설명 Used in the IOSCSIController protocol's executeRequest:buffer:client: method.
IOSCSIController 프로토콜의 executeRequest:buffer:client: 메소드에 사용됩니다.


IOString

정의된 위치 driverkit/driverTypes.h

개요 typedef char IOString[IO_STRING_LENGTH]

설명 Standard type for an ASCII name, such as a device's name or type.
장치 이름 또는 형식과 같은 ASCII 이름의 표준 형식입니다.


IOSwitchFunc

정의된 위치 driverkit/devsw.h

개요 typedef int (*IOSwitchFunc)()

설명 Used by IOAddToBdevsw() and IOAddToCdevsw() to specify UNIX-style entry points into a driver.
IOAddToBdevsw() 및 IOAddToCdevsw() 가 드라이버에 UNIX 스타일의 진입점을 지정하는데 사용합니다.


IOThread

정의된 위치 driverkit/generalFuncs.h

개요 typedef void *IOThread

설명 An opaque type used by the general-purpose functions to represent a thread.
thread 를 나타내야할 경우에 범용 함수에 의해 사용되는 불투명한 형태입니다.


IOThreadFunc

정의된 위치 driverkit/generalFuncs.h

개요

typedef void (*IOThreadFunc)
(void *arg)

설명 Used by the general-purpose functions to specify the function that a thread should execute.
스레드가 실행해야 하는 함수를 지정하기 위해 범용 함수에서 사용됩니다.


기호 상수(Symbolic Constants)

Length Constants

정의된 위치 driverkit/driverTypes.h

개요

IO_STRING_LENGTH
IO_MAX_PARAMETER_NAME_LENGTH
IO_MAX_PARAMETER_ARRAY_LENGTH

설명 These constants are used to determine the maximum length of the following types:
이러한 상수는 다음 유형의 최대 길이를 결정하는데 사용됩니다.

IO_STRING_LENGTH IOString
IO_MAX_PARAMETER_NAME_LENGTH IOParameterName
IO_MAX_PARAMETER_ARRAY_LENGTH IOIntParameter
IOCharParameter


Debugging String Length

정의된 위치 driverkit/debuggingMsg.h

개요 IO_DDM_STRING_LENGTH

설명 The length of the string field in an IODebuggingMsg.
IODebuggingMsg 의 문자열 필드 길이.


Debugging Messages

정의된 위치 driverkit/debuggingMsg.h

개요

Constant Meaning
IO_DDM_MSG_BASE IODebuggingMsg가 가질 수있는 가장 낮은 ID(The lowest ID an IODebuggingMsg can have)
IO_LOCK_DDM_MSG 드라이버 디버깅 모듈 (DDM) 잠금(Lock the Driver Debugging Module (DDM))
IO_UNLOCK_DDM_MSG DDM 잠금 해제(Unlock the DDM)
IO_GET_DDM_ENTRY_MSG DDM에서 항목 가져 오기(Get an entry from the DDM)
IO_SET_DDM_MASK_MSG DDM에 대한 디버깅 마스크 설정(Set the debugging mask for the DDM)
IO_CLEAR_DDM_MSG DDM의 모든 항목 지우기(Clear all entries from the DDM)

설명 Values for the header.msg_id field of an IODebuggingMsg. See the discussion of the DDM in Chapter 2 for more information on these messages. <<check>>
IODebuggingMsg 의 header.msg_id 필드 값입니다. 이러한 메시지에 대한 자세한 정보는 2 장의 DDM 에 대한 설명을 참조하십시오. <<check>>


Return Values from the DDM

정의된 위치 driverkit/debuggingMsg.h

개요

Constant Meaning
IO_DDM_SUCCESS 메시지를 받고 이해했습니다(The message was received and understood)
IO_NO_DDM_BUFFER DDM 은 지정된 오프셋에 항목이 없습니다.(The DDM has no entry at the specified offset)
IO_BAD_DDM_INDEX 지정된 색인이 유효하지 않습니다.(The specified index isn't valid)

설명 (Values for the status field of an IODebuggingMsg.
IODebuggingMsg의 상태 필드 값.


DDM Masks

정의된 위치 driverkit/debugging.h

개요 IO_NUM_DDM_MASKS

설명 This constant specifies the number of masks used by the Driver Debugging Module.
이 상수는 드라이버 디버깅 모듈에서 사용하는 마스크 수를 지정합니다.


Interrupt Messages

정의된 위치 driverkit/interruptMsg.h

개요

Constant Meaning
IO_INTERRUPT_MSG_ID_BASE IOInterruptMsg 가 가질 수있는 가장 낮은 ID(The lowest ID an IOInterruptMsg can have)
IO_TIMEOUT_MSG
IO_COMMAND_MSG
IO_DEVICE_INTERRUPT_MSG 인터럽트가 발생할 때 커널에서 전송(Sent by the kernel when an interrupt occurs)
IO_DMA_INTERRUPT_MSG
IO_FIRST_UNRESERVED_INTERRUPT_MSG

설명 Values for the header.msg_id field of an IOInterruptMsg. See the discussion of interrupts in Chapter 2 for more information on interrupt messages. <<check. WHO USES everything except IO_DEVICE_INTERRUPT_MSG, and how?>>
IOInterruptMsg 의 header.msg_id 필드 값입니다. 인터럽트 메시지에 대한 자세한 내용은 2 장의 인터럽트에 대한 설명을 참조하십시오. <<체크. 누가 IO_DEVICE_INTERRUPT_MSG 를 제외한 모든 것을 사용합니까?>>


IOReturn Constants

정의된 위치 driverkit/return.h

개요

Constant Meaning
IO_R_SUCCESS 오류 발생 없음(No error occurred)
IO_R_NO_MEMORY 메모리 할당 불가(Couldn't allocate memory)
IO_R_RESOURCE 자원 부족(Resource shortage)
IO_R_VM_FAILURE 기타 가상 메모리 오류(Miscellaneous virtual memory failure)
IO_R_INTERNAL 내부 라이브러리 오류(Internal library error)
IO_R_RLD 변동 가능 파일 로드 오류(Error in loading a relocatable file)
IO_R_IPC_FAILURE IPC 중에 오류 발생(Error during IPC)[1]
IO_R_NO_CHANNELS 사용할 수 있는 DMA 채널이 없음(No DMA channels are available)
IO_R_NO_SPACE 매핑에 사용할 수 있는 주소 공간이 없음(No address space is available for mapping)
IO_R_NO_DEVICE 해당 장치가 없음(No such device)
IO_R_PRIVILEGE 권한/액세스 위반(Privilege/access violation)
IO_R_INVALID_ARG 잘못된 인수(Invalid argument)
IO_R_BAD_MSG_ID  ???
IO_R_UNSUPPORTED 지원하지 않는 함수(Unsupported function)
IO_R_INVALID 볼 수 없음(Should never be seen)
IO_R_LOCKED_READ 장치의 읽기가 잠겨있음(Device is read locked)
IO_R_LOCKED_WRITE 장치의 쓰기가 잠겨있음(Device is write locked)
IO_R_EXCLUSIVE_ACCESS 기기가 독점적으로 액세스 할 수 있으며 이미 열려 있다(Device is exclusive access and is already open)
IO_R_CANT_LOCK 잠금 요청을 가져올 수 없다(Can't acquire requested lock)
IO_R_NOT_OPEN 장치를 열 수 없음(Device not open)
IO_R_OPEN 장치가 열려있음(Device is still open)
IO_R_NOT_READABLE 읽기를 지원하지 않음(Reading not supported)
IO_R_NOT_WRITABLE 쓰기를 지원하지 않음(Writing not supported)
IO_R_IO 일반적인 I/O 에러(General I/O error)
IO_R_BUSY 장치가 사용중(Device is busy)
IO_R_NOT_READY 장치가 준비되지 않음(Device isn't ready)
IO_R_OFFLINE 장치가 오프라인 상태임(Device is off line)
IO_R_ALIGN DMA 정렬 오류(DMA alignment error)
IO_R_MEDIA 미디어 오류(Media error)
IO_R_DMA DMA 실패(DMA failure)
IO_R_TIMEOUT I/O timeout
IO_R_NOT_ATTACHED 장치 또는 채널이 연결되지 않았음(The device or channel isn't attached)
IO_R_PORT_EXISTS 장치 포트가 이미 있음(The device port already exists)
IO_R_CANT_WIRE 사용된 실제 메모리를 <<사용 된 실제 메모리를 연결 해제 할 수 없습니까? 물리적 메모리를 연결 해제 할 수 있습니까?>>(Can't wire down physical memory <<ever used? can you ever wire down physical memory?>>)
IO_R_NO_INTERRUPT 인터럽트 포트가 연결되어 있지 않음(No interrupt port is attached)
IO_R_NO_FRAMES DMA가 대기열에 추가되지 않음(No DMA is enqueued)

설명 Values for IOReturns.
IOReturns 값.


IODevice Parameter Names

정의된 위치 driverkit/IODevice.h

개요

Constant Meaning
IO_CLASS_NAME + name 반환값(The value returned by)
IO_DEVICE_NAME - name 반환값(The value returned by)
IO_DEVICE_KIND - deviceKind 반환값(The value returned by)
IO_UNIT - unit 반환값(The value returned by)

설명 없음



Null Constants

정의된 위치 driverkit/driverTypes.h

개요

  1. define NULL 0
  2. define IO_NULL_VM_TASK ((vm_task_t)0)

설명 Standard null values, used in various places.
표준 NULL 값. 여러 위치에서 사용됩니다


Unused Constants

정의된 위치 driverkit/driverTypes.h

개요

IO_CC_START_READ
IO_CC_START_WRITE
IO_CC_ABORT
IO_CC_ENABLE_DEVICE_INTERRUPTS
IO_CC_DISABLE_DEVICE_INTERRUPTS
IO_CC_ENABLE_INTERRUPTS
IO_CC_DISABLE_INTERRUPTS
IO_CC_CONNECT_FRAME_LOOP
IO_CC_DISCONNECT_FRAME_LOOP
IO_CDO_DONE
IO_CDO_ALL
IO_CDO_ENABLE_INTERRUPTS
IO_CDO_ENABLE_INTERRUPTS_IF_EMPTY
IO_CEO_END_OF_RECORD
IO_CEO_DESCRIPTOR_INTERRUPT
IO_CEO_ENABLE_INTERRUPTS
IO_CEO_DESCRIPTOR_COMMAND
IO_CEO_ENABLE_CHANNEL
IO_MAX_BOARD_SIZE
IO_MAX_NRW_SLOT_SIZE
IO_MAX_SLOT_SIZE
IO_NATIVE_SLOT_ID
IO_NO_CHANNEL
IO_NULL_SLOT_ID
IO_NULL_DEVICE_TYPE
IO_NULL_DEVICE_INDEX
IO_NULL_DMA_ID
IO_SLOT_DEVICE_TYPE

설명 These constants aren't used by drivers for Intel-based computers.
이 상수들은 Intel 기반 컴퓨터의 드라이버에서는 사용되지 않습니다.


전역변수(Global Variables)

IODDMMasks

정의된 위치 driverkit/debugging.h

개요 unsigned int IODDMMasks[IO_NUM_DDM_MASKS]

설명 The bitmask used to filter storing of debugging events. See the discussion of the Driver Debugging Module in Chapter 2 for more information.
디버그 이벤트 저장을 필터링하는데 사용되는 비트 마스크입니다. 자세한 정보는 2 장의 드라이버 디버깅 모듈에 대한 설명을 참조하십시오.


IODMAStatusStrings

정의된 위치 driverkit/driverTypes.h

개요 const IONamedValue IODMAStatusStrings[]

정의된 위치 Used as an argument to IOFindNameForValue() to convert an IODMAStatus value into an error string.
IOFindNameForValue() 에 대한 인수로 사용되며 IODMAStatus 값을 오류 문자열로 변환합니다.


Notes

  1. 내부 프로 세스간 통신 - Inter Process Communication. https://www.joinc.co.kr/w/Site/system_programing/Book_LSP/ch08_IPC