adf_nativ.c

来自「linux下的所有压缩文件的解压管理器」· C语言 代码 · 共 110 行

C
110
字号
/* * adf_nativ.c * * file */#include<stdio.h>#include<stdlib.h>#include<string.h>#include"adf_str.h"#include"adf_nativ.h"#include"adf_err.h"extern struct Env adfEnv;/* * myInitDevice * * must fill 'dev->size' */RETCODE myInitDevice(struct Device* dev, char* name,BOOL ro){    struct nativeDevice* nDev;    nDev = (struct nativeDevice*)dev->nativeDev;    nDev = (struct nativeDevice*)malloc(sizeof(struct nativeDevice));    if (!nDev) {        (*adfEnv.eFct)("myInitDevice : malloc");        return RC_ERROR;    }    dev->nativeDev = nDev;    if (!ro)        /* check if device is writable, if not, force readOnly to TRUE */        dev->readOnly = FALSE;    else        /* mount device as read only */        dev->readOnly = TRUE;    dev->size = 0;    return RC_OK;}/* * myReadSector * */RETCODE myReadSector(struct Device *dev, long n, int size, unsigned char* buf){     return RC_OK;   }/* * myWriteSector * */RETCODE myWriteSector(struct Device *dev, long n, int size, unsigned char* buf){    return RC_OK;}/* * myReleaseDevice * * free native device */RETCODE myReleaseDevice(struct Device *dev){    struct nativeDevice* nDev;    nDev = (struct nativeDevice*)dev->nativeDev;	free(nDev);    return RC_OK;}/* * adfInitNativeFct * */void adfInitNativeFct(){    struct nativeFunctions *nFct;    nFct = (struct nativeFunctions*)adfEnv.nativeFct;    nFct->adfInitDevice = myInitDevice ;    nFct->adfNativeReadSector = myReadSector ;    nFct->adfNativeWriteSector = myWriteSector ;    nFct->adfReleaseDevice = myReleaseDevice ;    nFct->adfIsDevNative = myIsDevNative;}/* * myIsDevNative * */BOOL myIsDevNative(char *devName){    return (strncmp(devName,"/dev/",5)==0);}/*##########################################################################*/

⌨️ 快捷键说明

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