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

📄 xdrwtx.c

📁 VXWORKS源代码
💻 C
📖 第 1 页 / 共 5 页
字号:
    }/********************************************************************************* xdr_WTX_MSG_REG_READ - code, decode or free the WTX_MSG_REG_READ structure. ** This function codes, decodes or frees the WTX_MSG_REG_READ structure.** RETURNS: TRUE if it succeeds, FALSE otherwise.*/bool_t xdr_WTX_MSG_REG_READ    (    XDR *	xdrs,    WTX_MSG_REG_READ *	objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_enum (xdrs, (enum_t *)&objp->regSetType))	return (FALSE);    if (!xdr_WTX_CONTEXT (xdrs, &objp->context))	return (FALSE);    if (!xdr_WTX_MEM_REGION (xdrs, &objp->memRegion))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_MEM_BLOCK_DESC - WTX** RETURNS: TRUE if it succeeds, FALSE otherwise.*/bool_t xdr_WTX_MSG_MEM_BLOCK_DESC    (    XDR *       xdrs,		/* xdr handle */    WTX_MSG_MEM_BLOCK_DESC * objp	    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->startAddr))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->numBytes))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_MEM_READ_DESC - WTX** RETURNS: TRUE if it succeeds, FALSE otherwise.*/bool_t xdr_WTX_MSG_MEM_READ_DESC    (    XDR *	xdrs,    WTX_MSG_MEM_READ_DESC *	objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->source))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->destination))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->numBytes))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_MEM_WIDTH_READ_DESC - WTX** RETURNS: TRUE if it succeeds, FALSE otherwise.*/bool_t xdr_WTX_MSG_MEM_WIDTH_READ_DESC    (    XDR *       xdrs,    WTX_MSG_MEM_WIDTH_READ_DESC *     objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))        return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->source))        return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->destination))        return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->numBytes))        return (FALSE);    if (!xdr_u_char (xdrs, &objp->width))        return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_MEM_COPY_DESC - WTX** RETURNS: TRUE if it succeeds, FALSE otherwise.*/bool_t xdr_WTX_MSG_MEM_COPY_DESC    (    XDR *	xdrs,    WTX_MSG_MEM_COPY_DESC *	objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->source))	return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->destination))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->numBytes))	return (FALSE);    if (xdrs->x_op == XDR_ENCODE)        {                                                /* export block */        if (!xdr_opaque (xdrs, (char *)objp->source, objp->numBytes))            return (FALSE);        }    else if (xdrs->x_op == XDR_DECODE)                  /* import block */        {        if (!xdr_opaque (xdrs, (char *)objp->destination, objp->numBytes))            return (FALSE);	}    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_MEM_WIDTH_COPY_DESC - WTX** RETURNS: TRUE if it succeeds, FALSE otherwise.*/bool_t xdr_WTX_MSG_MEM_WIDTH_COPY_DESC    (    XDR *       xdrs,    WTX_MSG_MEM_WIDTH_COPY_DESC *     objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))        return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->source))        return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->destination))        return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->numBytes))        return (FALSE);    if (!xdr_u_char (xdrs, &objp->width))        return (FALSE);    if (xdrs->x_op == XDR_ENCODE)        {                                                /* export block */        if (!xdr_opaque (xdrs, (char *)objp->source, objp->numBytes))            return (FALSE);        }    else if (xdrs->x_op == XDR_DECODE)                  /* import block */        {        if (!xdr_opaque (xdrs, (char *)objp->destination, objp->numBytes))            return (FALSE);        }    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_MEM_SCAN_DESC - WTX** RETURNS: TRUE if it succeeds, FALSE otherwise.*/bool_t xdr_WTX_MSG_MEM_SCAN_DESC    (    XDR *	xdrs,    WTX_MSG_MEM_SCAN_DESC *	objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->match))	return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->startAddr))	return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->endAddr))	return (FALSE);    if (!xdr_bytes (xdrs, (char **)&objp->pattern, (u_int *)&objp->numBytes,		    WTX_MAX_PATTERN_LEN))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_MEM_MOVE_DESC - WTX** RETURNS: TRUE if it succeeds, FALSE otherwise.*/bool_t xdr_WTX_MSG_MEM_MOVE_DESC    (    XDR *	xdrs,    WTX_MSG_MEM_MOVE_DESC *	objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->source))	return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->destination))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->numBytes))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_MEM_SET_DESC - WTX** RETURNS: TRUE if it succeeds, FALSE otherwise.*/bool_t xdr_WTX_MSG_MEM_SET_DESC    (    XDR *	xdrs,    WTX_MSG_MEM_SET_DESC *	objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->value))	return (FALSE);    if (!xdr_u_char (xdrs, &objp->width))	return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->startAddr))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->numItems))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_CONTEXT_DESC - WTX** RETURNS:  TRUE if it succeeds, FALSE otherwise.*/bool_t xdr_WTX_MSG_CONTEXT_DESC    (    XDR *		xdrs,	/* xdr handle */    WTX_MSG_CONTEXT_DESC * objp	    )    {    u_int	 argNum = WTX_MAX_ARG_CNT;    TGT_ADDR_T * pArgs = (TGT_ADDR_T *)objp->args;/* argument table pointer */    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_enum (xdrs, (enum_t *)&objp->contextType))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->returnType))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->name))		return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->priority))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->options))	return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->stackBase))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->stackSize))	return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->entry))	return (FALSE);    if (!xdr_long (xdrs, (long *)&objp->redirIn))	return (FALSE);    if (!xdr_long (xdrs, (long *)&objp->redirOut))	return (FALSE);    /*     * The arg array is not dynamically allocated. So when freeing memory,      * xdr_array *MUST NOT* free this array.     */    if (xdrs->x_op == XDR_FREE)	{	char *	ptr = NULL;	/* dummy array */	if (!xdr_array (xdrs, (caddr_t *)&ptr, &argNum, ~0, 		    sizeof (TGT_ARG_T), xdr_TGT_ARG_T))	return (FALSE);	}    else    	{	if (!xdr_array (xdrs, (caddr_t *)&pArgs, &argNum, ~0, 		    sizeof (TGT_ARG_T), xdr_TGT_ARG_T))	return (FALSE);	}    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_CONTEXT_STEP_DESC - WTX** RETURNS: TRUE if it succeeds, FALSE otherwise.*/bool_t xdr_WTX_MSG_CONTEXT_STEP_DESC    (    XDR *	xdrs,    WTX_MSG_CONTEXT_STEP_DESC *	objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_WTX_CONTEXT (xdrs, &objp->context))	return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->startAddr))	return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->endAddr))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_OPEN_DESC - virtual I/O descriptor  **/bool_t xdr_WTX_MSG_OPEN_DESC    (    XDR *	xdrs,    WTX_MSG_OPEN_DESC *	objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->filename))	return (FALSE);    if (!xdr_enum (xdrs, (enum_t *)&objp->flags))	return (FALSE);    if (!xdr_int (xdrs, &objp->mode))	return (FALSE);    if (!xdr_int (xdrs, &objp->channel))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_VIO_CTL_DESC - virtual I/O control descriptor**/bool_t xdr_WTX_MSG_VIO_CTL_DESC    (    XDR *          xdrs,    WTX_MSG_VIO_CTL_DESC * objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->channel))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->request))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->arg))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_VIO_COPY_DESC - ** This function codes, decodes or frees the VIO_COPY structure and copies the* data buffer of a specific virtual I/O channel. If the VIO_COPY baseAddr field* is a NULL pointer no data are copied, otherwise the data are coded. The* number of bytes to encode are handled by the maxBytes field. When the data* are decoded their values are saved in a memory area allocted by the* xdr_opaque function. ** RETURNS:  TRUE if it succeeds, FALSE otherwise.*/bool_t xdr_WTX_MSG_VIO_COPY_DESC    (    XDR *	xdrs,    WTX_MSG_VIO_COPY_DESC *	objp    )    {    bool_t moreData;				/* NULL pointer flag */    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->channel))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->maxBytes))	return (FALSE);    moreData = (objp->baseAddr != NULL);	/*  NULL pointer ? */    if (! xdr_bool(xdrs, (bool_t *)&moreData))	/* code/decode test result */	return (FALSE);    if (! moreData)	objp->baseAddr  = NULL;			/* YES: return a NULL pointer */    else					/* NO: code/decode the data */	{	if (xdrs->x_op == XDR_DECODE)		/* if decode force mem alloc */	    objp->baseAddr  = (void *) malloc (objp->maxBytes);	if (xdrs->x_op == XDR_FREE)		/* if free de-alloc memory */	    free (objp->baseAddr);	if (! xdr_opaque (xdrs, (char *) objp->baseAddr, objp->maxBytes))	    return (FALSE);	}    return (TRUE);    }/********************************************************************************* xdr_WTX_VIO_FILE_DESC - WTX VIO file descriptor**/bool_t xdr_WTX_VIO_FILE_DESC     (    XDR *          xdrs,    WTX_VIO_FILE_DESC * objp    )    {    if (!xdr_WRAPSTRING (xdrs, &objp->name))	return (FALSE);    if (!xdr_long (xdrs, (long *)&objp->fd))	return (FALSE);    if (!xdr_long (xdrs, (long *)&objp->channel))	return (FALSE);    if (!xdr_long (xdrs, (long *)&objp->fp))	return (FALSE);    if (!xdr_long (xdrs, (long *)&objp->type))	return (FALSE);    if (!xdr_long (xdrs, (long *)&objp->mode))	return (FALSE);    if (!xdr_long (xdrs, (long *)&objp->status))	return (FALSE);    if (!xdr_long (xdrs, (long *)&objp->addlInfo))	return (FALSE);    if (!xdr_pointer (xdrs, (char **)&objp->next, sizeof (WTX_VIO_FILE_DESC),		      xdr_WTX_VIO_FILE_DESC))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_VIO_FILE_LIST - WTX VIO files list message**/bool_t xdr_WTX_MSG_VIO_FILE_LIST     (    XDR *       	   xdrs,    WTX_MSG_VIO_FILE_LIST * objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_pointer (xdrs, (char **)&objp->pVioFileList, 		      sizeof (WTX_VIO_FILE_DESC), xdr_WTX_VIO_FILE_DESC))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_SYMBOL - symbol information**/bool_t xdr_WTX_SYMBOL     (    XDR *       	xdrs,    WTX_SYMBOL * 	objp    )    {    if (!xdr_u_long (xdrs, (u_long *)&objp->status))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->symTblId))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->name))	return (FALSE);    if (!xdr_bool (xdrs, (bool_t *)&objp->exactName))	return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->value))	return (FALSE);    if (!xdr_u_char (xdrs, &objp->type))	return (FALSE);    if (!xdr_u_char (xdrs, &objp->typeMask))	return (FALSE);    if (!xdr_u_short (xdrs, &objp->group))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->moduleName))	return (FALSE);    /*      * There is no need to xdr the next field since it is only meaningfull

⌨️ 快捷键说明

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