Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

mmap(2)

munmap(2)

exit(2)

mapdev_access(9E)

mapdev_dup(9E)

segmap(9E)

ddi_mapdev(9F)

ddi_mapdev_intercept(9F)

ddi_mapdev_nointercept(9F)

ddi_mapdev_ctl(9S)

mapdev_free(9E)

NAME

mapdev_free − device mapping free entry point

SYNOPSIS

#include <sys/sunddi.h>

void prefixmapdev_free(ddi_mapdev_handle_t handle, void ∗devprivate);

INTERFACE LEVEL

Solaris DDI specific (Solaris DDI). 

ARGUMENTS

handle An opaque pointer to a device mapping. 

devprivate Driver private mapping data from ddi_mapdev(9F). 

DESCRIPTION

mapdev_free() is called when a mapping created by ddi_mapdev(9F) is being destroyed.  mapdev_free() receives the handle of the mapping being destroyed and a pointer to the driver private data for this mapping in devprivate.

The mapdev_free() routine is expected to free any resources that were allocated by the driver for this mapping. 

EXAMPLE

static void
xxmapdev_free(ddi_mapdev_handle_t hdl, void ∗pvtdata)
{
/∗ Destroy the driver private data - Device dependent ∗/
...
kmem_free(pvtdata, sizeof (struct xxpvtdata));
}

CONTEXT

This function is called from user context only. 

SEE ALSO

mmap(2), munmap(2), exit(2), mapdev_access(9E), mapdev_dup(9E), segmap(9E), ddi_mapdev(9F), ddi_mapdev_intercept(9F), ddi_mapdev_nointercept(9F), ddi_mapdev_ctl(9S)

Writing Device Drivers

SunOS 5.4  —  Last change: 15 Feb 1994

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026