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.