cc [ flag... ] file... -lsmartcard [ library...] #include <smartcard/scf.h>
SCF_Status_t SCF_Session_getSession(SCF_Session_t *session);
session A pointer to an SCF_Session_t. If a session is successfully established, the session will be returned through this parameter.
The SCF_Session_getSession() function establishes a session with the Solaris Smart Card Framework (SCF). Once a session has been opened, the session can be used with SCF_Session_getTerminal(3SMARTCARD) to access a smartcard terminal (reader). Information about the session can be obtained by calling SCF_Session_getInfo(3SMARTCARD).
When the session is no longer needed, SCF_Session_close(3SMARTCARD) should be called to end the session and release session resources. Closing a session will also close any terminals and cards opened within the session.
An application usually needs to open only a single session. For example, multiple terminals can be opened from the same session. If an appication opens additional sessions, each call will return independent (different) sessions.
Upon success, SCF_STATUS_SUCCESS is returned and session contains a valid session. If a session could not be established, an error value is returned and session remains unaltered.
The SCF_Session_getSession() function will fail if:
SCF_STATUS_BADARGS The session argument is a null pointer.
SCF_STATUS_COMMERROR The library was unable to contact the smartcard server daemon (ocfserv(1M)), or the library was unable to obtain a session from the server.
SCF_STATUS_FAILED An internal error occurred.
Example 1: Establish a session with the framework.
SCF_Status_t status; SCF_Session_t mySession; status = SCF_Session_getSession(&mySession); if (status != SCF_STATUS_SUCCESS) exit(1); /* Proceed with other smartcard operations. */
See attributes(5) for descriptions of the following attributes:
|ATTRIBUTE TYPE||ATTRIBUTE VALUE|
libsmartcard(3LIB), SCF_Session_close(3SMARTCARD), SCF_Session_getInfo(3SMARTCARD), SCF_Session_getTerminal(3SMARTCARD), attributes(5)