⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bc_ioctl.h

📁 BestCrypt开源加密原代码
💻 H
字号:
/******************************************************************* *	Copyright (c) 1994-1998 Jetico, Inc., Finland *	All rights reserved. * *	File:		include/bc_ioctl.h * *	Description:	ioctl() interface to BestCrypt driver  * *	Scope:		BestCrypt driver, driver calls wrapper * *	Platforms:	Linux *  *	Author:		Nail R. Kaipov * *	Created:	10-Nov-1998 * *	Revision:	 $Id: bc_ioctl.h,v 1.9 2004/12/16 08:42:35 nail Rel-1.6-5 $ * *******************************************************************/#ifndef __BC_IOCTL__#define __BC_IOCTL__/* MAX key length in bits */#define MAX_KEY_LENGTH		512/* pool of random bytes */#define POOL_SIZE_BYTES		512/* MAX module name length in bytes. limited by kerneld */#define MOD_NAME_LEN		64/* MAX block size for BC_(DE)ENCRYPT_BLOCK in bytes */#define MAX_BLOCK_SIZE		4096#define BC_MAGIC		0x0000BCBCtypedef struct ALG_SERV_ {        int     bc_fd;	ALG_ID	alg_id;        char    *alg_module;} ALG_SERV;				/* IOCTL commands  */#define BC_GET_INFO		0xBC00struct bc_info {	int	magic;			/* magic number protection */	int	error;			/* return error code       */	int	ver_major;		/* major version number    */	int	ver_minor;		/* minor version number    */	int	busy;			/* is device busy	   */};#define BC_SET_FD		0xBC01#define BC_CLR_FD		0xBC02#define BC_LOCK_DEV		0xBC03#define BC_UNLOCK_DEV		0xBC04#define BC_CHECK_FD		0xBC05#define BC_NOTIFY_PID		0xBC06#define BC_GET_PRIV		0xBC07#define BC_FORCE_UNLOCK		0xBC09#define BC_CHECK_ACTIVITY	0xBC0A/* BC driver user flags definition */#define BC_FLAGS_READONLY	0x00000001#define BC_FLAGS_MULTPART	0x00000002#define	BC_FLAGS_IV_64BIT	0x00000004struct bc_file64 {	int	magic;			/* magic number protection         */	int	error;			/* return error code               */	int	fd;			/* container's file descriptor     */	unsigned long long offset;	/* data offset. ALIGNED by 8 bytes */	unsigned long long start_sector;/* starting sector for actual data */	unsigned long long num_sectors;	/* actual data size                */	unsigned int	flags;		/* binding flags                   */	ALG_ID		alg_id;		/* encryption algorithm id         */	KEY_HANDLE	key_handle;	/* key handle (invisible to user?) */};#define BC_CONTAINER_UNUSED	0#define BC_CONTAINER_USED	1#define BC_CONTAINER_MOUNTED	2struct bc_check {	int	magic;			/* magic number protection         */	int	error;			/* return error code               */	int	fd;			/* container's file descriptor     */	int	busy;			/* BC_CONTAINER_* flags (return)   */};#define BC_PID_EXCLUDE		0#define BC_PID_INCLUDE		1struct bc_pid {	int	magic;			/* magic number protection */	int	error;			/* return error code       */	int	pid;			/* pid to notify	   */	int	sig;			/* signal to send	   */	int	op;			/* BC_PID_EXCLUDE/INCLUDE  */};#define BC_VERIFY_ALG		0xBC10struct bc_alg {	int	magic;			/* magic number protection  */	int	error;			/* return error code        */	ALG_ID	alg_id;			/* encryption algorithm id  */	char	alg_module[MOD_NAME_LEN];	/* algorithm module name */};#define BC_MAKE_KEY		0xBC20#define BC_TEST_KEY		0xBC21#define BC_FREE_KEY		0xBC22struct bc_key {	int	magic;			/* magic number protection  */	int	error;			/* return error code        */	ALG_ID	alg_id;			/* encryption algorithm id  */	char	alg_module[MOD_NAME_LEN];	/* algorithm module name */	unsigned char	*key;		/* pointer to user password */	unsigned int	key_len;	/* key length in ...        */	unsigned char	*pool;		/* pointer to rnd data pool */		KEY_HANDLE	key_handle;	/* key handle               */};#define BC_ENCRYPT_BLOCK	0xBC30#define BC_DECRYPT_BLOCK	0xBC31struct bc_block {	int	magic;			/* magic number protection */	int	error;			/* return error code       */	ALG_ID	alg_id;			/* encryption algorithm    */	KEY_HANDLE	key_handle;	/* encryption key          */			unsigned char	iv[8];		/* initial vector          */	unsigned char	*buffer;	/* block to be processed   */	unsigned int	buffer_len;	/* block length. ALIGNED?? */};#endif /* __BC_IOCTL__ */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -