DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
SVR5

halt(D2)


halt -- shut down the driver when the system shuts down

Synopsis (Not in current DDI version)

   void prefixhalt(void);

Description

The driver's halt( ) entry point routine, if present, is called to shut down the driver when the system is shut down. After the halt( ) routine is called, no more calls will be made to the driver's entry point routines.

Return values

None.

Usage

DLKM drivers that implement shared interrupts must include this routine to disable interrupts. This entry point is optional for other drivers. It is only called if the driver is loaded when the system is shut down.

Interrupts may or may not be enabled when this routine is called. The driver should make sure that no interrupts are pending from its device, and inform the device that no more interrupts should be generated.

On multiprocessor systems, only one processor can be active when the halt( ) routine executes, so drivers are guaranteed that no other threads of execution are possible.

Context and synchronization

Blockable context. The driver can block but cannot do operations such as copyout(D3) that require access to the requesting process's address space.

Hardware applicability

All

Version applicability

ddi: 1, 2, 3, 4, 5, 5mp, 6, 6mp, 7, 7mp, 7.1, 7.1mp

Differences between versions

In DDI versions prior to version 8, halt( ) is a named entry point and must be defined as a global symbol.

In DDI 8, this functionality is provided through the CFG_SUSPEND subfunction of the config(D2) entry point routine. Note that, on multiprocessor systems, CFG_SUSPEND may be called when more than one processor is active, so code may need to be modified accordingly.

External dependencies

Named entry point routines must be declared in the driver's Master(DSP/4dsp) file. The declaration for this entry point is $entry halt. This applies only to non-STREAMS drivers that use DDI versions prior to version 8.

References

halt(D2mdi), halt(D2sdi)
19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005