6 process request structures, Section 3.3.6, Process request structures – Freescale Semiconductor SEC2SWUG User Manual

Page 11

Advertising
background image

SEC 2.0 Reference Device Driver User’s Guide, Rev. 0

Freescale Semiconductor

PRELIMINARY—SUBJECT TO CHANGE WITHOUT NOTICE

11

User Interface

STATUS_REQ driverstatus; // Detailed information as to the state of the

// hardware and the driver at the time of an error

3.3.6 Process Request Structures

All process request structures contain the a copy of the same request header information, which is defined by the

COMMON_REQ_PREAMBLE

macro. The members of this header must be filled in as needed by the user prior to the

issue of the user's request.

unsigned long opId;

unsigned char scatterBufs;

unsigned char notifyFlags;

unsigned char reserved;

unsigned char channel;

PSEC2_NOTIFY_ROUTINE notify;

PSEC2_NOTIFY_CTX pNotifyCtx;

PSEC2_NOTIFY_ON_ERROR_ROUTINE notify_on_error;

SEC2_NOTIFY_ON_ERROR_CTX ctxNotifyOnErr;

int status;

void *nextReq;

opId

operation Id which identifies what type of request this is. It is normally associated with
a specific type of cryptographic operation, see

Section 4, “Individual Request Type

Descriptions”

for all supported request types.

scatterBufs

A bitmask that specifies which of the argued buffers are mapped through a
scatter-gather list. The mask is filled out via the driver's helper function

MarkScatterBuffer()

, described in

Section 3.3.7, “Scatter-Gather Buffer

Management.

notifyFlags

If a POSIX-style signal handler will be responsible for request completion notification,
then it can contain ORed bits of

NOTIFY_IS_PID

and/or

NOTIFY_ERROR_IS_PID

, signifying that the

notify

or

notify_on_error

pointers are instead the process ID's (i.e.

getpid()

) of the task requesting a signal

upon request completion.

channel

identifies the channel to be used for the request. It exists for legacy compatibility
reasons, and is no longer useful for SEC2.

notify

pointer to a notification callback routine that will be called when the request has
completed successfully. May instead be a process ID if a user-state signal handler will
flag completion. Refer back to

notifyFlags

for more info.

pNotifyCtx

pointer to context area to be passed back through the notification routine.

Advertising