rzkdevattach.c

来自「zilog的实时操作系统RZK,可以移植到多种处理器上」· C语言 代码 · 共 76 行

C
76
字号

#include <string.h>

#include "ZTypes.h"
#include "ZSysgen.h"
#include "ZDevice.h"



extern RZK_DEVICE_CB_t usrDevBlk[] ;
extern UINT RZK_MAX_DCB ;
void* RZKMemcpy(void *,	const void *, RZK_LENGTH_t) ;

INT8 nullstring[MAX_DEV_NAME_LENGTH] ;

DDF_STATUS_t RZKDevAttach(RZK_DEVICE_CB_t *pdev)
{
UINT16 i ;
DDF_STATUS_t status ;

if(pdev == NULL)
	return DDFERR_INVALID_ARGUMENTS ;

	for( i=0; i<RZK_MAX_DCB; i++)
	{
		//if(strcmp(pdev->devName, usrDevBlk[i].devName) != 0)
		//{
			if(usrDevBlk[i].devName[0] == 0)
			{
				RZKMemcpy(&usrDevBlk[i], pdev, sizeof(RZK_DEVICE_CB_t)) ;
				status = DevInit(&usrDevBlk[i]);
				return status;
			}
		//}
		//else
		//{
			//return DDFERR_INVALID_ARGUMENTS ;		
		//}
	}

	return DDFERR_DCB_UNAVAILABLE ;
}


DDF_STATUS_t RZKDevDetach(RZK_DEVICE_CB_t *pdev)
{

UINT16 i ;

if(pdev == NULL)
	return DDFERR_INVALID_ARGUMENTS ;

	for( i=0; i<RZK_MAX_DCB; i++)
	{
		if(strcmp((char const *)pdev->devName, (char const *)usrDevBlk[i].devName) == 0)
		{
				memset(&usrDevBlk[i], 0, sizeof(RZK_DEVICE_CB_t)) ;
				return RZKERR_SUCCESS ;
		}
	}

	return DDFERR_INVALID_ARGUMENTS ;		
}












⌨️ 快捷键说明

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