Previous Macintosh drivers exported five callable routines: Open, Close, Prime, Control, and Status. Generic native device drivers export a single code entry point, called DoDriverIO, that handles all Device Manager operations. It is a selector-based entry point with command codes that specify the I/O action to be performed. The device driver can determine the nature of the I/O request from the command code ( kInitializeCommand, kFinalizeCommand, kOpenCommand, kCloseCommand, kReadCommand, kWriteCommand, kControlCommand, kStatusCommand, kKillIOCommand, kReplaceCommand, or kSupersededCommand ) and command kind ( kIOSynchronousKind, kIOAsynchronousKind, or kIOImmediateKind ). DoDriverIO is described in DoDriverIO Entry Point.