te
Copyright (c) 1996, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
CSX_REQUESTSOCKETMASK 9F "Jul 19, 1996"
NAME
csx_RequestSocketMask, csx_ReleaseSocketMask - set or clear the client's client event mask
SYNOPSIS
#include <sys/pccard.h>



int32_t csx_RequestSocketMask(client_handle_t ch,
 request_socket_mask_t *sm);

int32_t csx_ReleaseSocketMask(client_handle_t ch,
 release_socket_mask_t *rm);
INTERFACE LEVEL
illumos DDI Specific (illumos DDI)
PARAMETERS
ch

Client handle returned from csx_RegisterClient(9F).

sm

Pointer to a request_socket_mask_t structure.

rm

Pointer to a release_socket_mask_t structure.

DESCRIPTION
The function csx_RequestSocketMask() sets the client's client event mask and enables the client to start receiving events at its event callback handler. Once this function returns successfully, the client can start receiving events at its event callback handler. Any pending events generated from the call to csx_RegisterClient(9F) will be delivered to the client after this call as well. This allows the client to set up the event handler mutexes before the event handler gets called.

csx_RequestSocketMask() must be used before calling csx_GetEventMask(9F) or csx_SetEventMask(9F) for the client event mask for this socket.

The function csx_ReleaseSocketMask() clears the client's client event mask.

STRUCTURE MEMBERS
The structure members of request_socket_mask_t are:
 uint32_t Socket; /* socket number */
 uint32_t EventMask; /* event mask to set or return */

The structure members of release_socket_mask_t are:

 uint32_t Socket; /* socket number */

The fields are defined as follows: Socket

Not used in illumos, but for portability with other Card Services implementations, it should be set to the logical socket number.

EventMask

This field is bit-mapped. Card Services performs event notification based on this field. See csx_event_handler(9E) for valid event definitions and for additional information about handling events.

RETURN VALUES
CS_SUCCESS

Successful operation.

CS_BAD_HANDLE

Client handle is invalid.

CS_IN_USE

csx_ReleaseSocketMask() has not been done.

CS_BAD_SOCKET

csx_RequestSocketMask() has not been done.

CS_UNSUPPORTED_FUNCTION

No PCMCIA hardware installed.

CONTEXT
These functions may be called from user or kernel context.
SEE ALSO
csx_event_handler (9E), csx_GetEventMask (9F), csx_RegisterClient (9F), csx_SetEventMask (9F)

PC Card 95 Standard, PCMCIA/JEIDA