Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Fields
this_task_ctx Struct Reference

#include <sep_crypto.h>

Data Fields

struct sep_devicesep_used
 
u32 done
 
unsigned char iv [100]
 
enum des_enc_mode des_encmode
 
enum des_op_mode des_opmode
 
enum aes_enc_mode aes_encmode
 
enum aes_op_mode aes_opmode
 
u32 init_opcode
 
u32 block_opcode
 
size_t data_length
 
size_t ivlen
 
struct ablkcipher_walk walk
 
int i_own_sep
 
struct sep_call_status call_status
 
struct build_dcb_struct_kernel dcb_input_data
 
struct sep_dma_contextdma_ctx
 
voiddmatables_region
 
size_t nbytes
 
struct sep_dcblockdcb_region
 
struct sep_queue_infoqueue_elem
 
int msg_len_words
 
unsigned char msg [SEP_DRIVER_MESSAGE_SHARED_AREA_SIZE_IN_BYTES]
 
voidmsgptr
 
struct scatterlistsrc_sg
 
struct scatterlistdst_sg
 
struct scatterlistsrc_sg_hold
 
struct scatterlistdst_sg_hold
 
struct ahash_requestcurrent_hash_req
 
struct ablkcipher_requestcurrent_cypher_req
 
enum type_of_request current_request
 
int digest_size_words
 
int digest_size_bytes
 
int block_size_words
 
int block_size_bytes
 
enum hash_op_mode hash_opmode
 
enum hash_stage current_hash_stage
 
intare_we_done_yet
 
unsigned long end_time
 

Detailed Description

Structure for this current task context This same structure is used for both hash and crypt in order to reduce duplicate code for stuff that is done for both hash operations and crypto operations. We cannot trust that the system context is not pulled out from under us during operation to operation, so all critical stuff such as data pointers must be in in a context that is exclusive for this particular task at hand.

Definition at line 291 of file sep_crypto.h.

Field Documentation

enum aes_enc_mode aes_encmode

Definition at line 297 of file sep_crypto.h.

enum aes_op_mode aes_opmode

Definition at line 298 of file sep_crypto.h.

int* are_we_done_yet

Not that this is a pointer. The are_we_done_yet variable is allocated by the task function. This way, even if the kernel crypto infrastructure has grabbed the task structure out from under us, the task function can still see this variable.

Definition at line 334 of file sep_crypto.h.

u32 block_opcode

Definition at line 300 of file sep_crypto.h.

int block_size_bytes

Definition at line 325 of file sep_crypto.h.

int block_size_words

Definition at line 324 of file sep_crypto.h.

struct sep_call_status call_status

Definition at line 305 of file sep_crypto.h.

struct ablkcipher_request* current_cypher_req

Definition at line 320 of file sep_crypto.h.

struct ahash_request* current_hash_req

Definition at line 319 of file sep_crypto.h.

enum hash_stage current_hash_stage

Definition at line 327 of file sep_crypto.h.

enum type_of_request current_request

Definition at line 321 of file sep_crypto.h.

size_t data_length

Definition at line 301 of file sep_crypto.h.

Definition at line 306 of file sep_crypto.h.

struct sep_dcblock* dcb_region

Definition at line 310 of file sep_crypto.h.

enum des_enc_mode des_encmode

Definition at line 295 of file sep_crypto.h.

enum des_op_mode des_opmode

Definition at line 296 of file sep_crypto.h.

int digest_size_bytes

Definition at line 323 of file sep_crypto.h.

int digest_size_words

Definition at line 322 of file sep_crypto.h.

Definition at line 307 of file sep_crypto.h.

void* dmatables_region

Definition at line 308 of file sep_crypto.h.

u32 done

Definition at line 293 of file sep_crypto.h.

Definition at line 316 of file sep_crypto.h.

struct scatterlist* dst_sg_hold

Definition at line 318 of file sep_crypto.h.

unsigned long end_time

Definition at line 335 of file sep_crypto.h.

enum hash_op_mode hash_opmode

Definition at line 326 of file sep_crypto.h.

int i_own_sep

Definition at line 304 of file sep_crypto.h.

u32 init_opcode

Definition at line 299 of file sep_crypto.h.

unsigned char iv[100]

Definition at line 294 of file sep_crypto.h.

size_t ivlen

Definition at line 302 of file sep_crypto.h.

Definition at line 313 of file sep_crypto.h.

int msg_len_words

Definition at line 312 of file sep_crypto.h.

void* msgptr

Definition at line 314 of file sep_crypto.h.

size_t nbytes

Definition at line 309 of file sep_crypto.h.

struct sep_queue_info* queue_elem

Definition at line 311 of file sep_crypto.h.

struct sep_device* sep_used

Definition at line 292 of file sep_crypto.h.

Definition at line 315 of file sep_crypto.h.

struct scatterlist* src_sg_hold

Definition at line 317 of file sep_crypto.h.

Definition at line 303 of file sep_crypto.h.


The documentation for this struct was generated from the following file: