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

📄 xdrwtx.c

📁 VxWorks BSP框架源代码包含头文件和驱动
💻 C
📖 第 1 页 / 共 5 页
字号:
     * on one side of the protocol.     */    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_SYMBOL_DESC - WTX symbol descriptor**/bool_t xdr_WTX_MSG_SYMBOL_DESC     (    XDR *       	xdrs,    WTX_MSG_SYMBOL_DESC * 	objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_WTX_SYMBOL (xdrs, &objp->symbol))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_SYM_LIST - symbol list** We avoid recursives routines here since the symbol list may be huge and* can blow the C stack.*/bool_t xdr_WTX_SYM_LIST     (    XDR *       	xdrs,    WTX_SYM_LIST * 	pList    )    {    bool_t		moreData;    WTX_SYMBOL *	pSym;    WTX_SYMBOL *	pNext;    WTX_SYMBOL **	ppSymLink = 0;    /* The tough one, xdr the list of symbols */    if (xdrs->x_op == XDR_FREE)	{	/* move through the list and free each one. */	for (pSym = pList->pSymbol; pSym; pSym = pNext)	    {	    pNext = pSym->next;	    if (!xdr_reference (xdrs, (caddr_t *)&pSym, sizeof (WTX_SYMBOL), 				xdr_WTX_SYMBOL))		return (FALSE);	    }	}    else	{	/* we need to store the links ourselves. */	ppSymLink = &(pList->pSymbol);	for (;;)	    {	    moreData = (*ppSymLink != NULL);	/* test for end of list */	    if (!xdr_bool(xdrs, &moreData))	/* xdr the moreData field */		return (FALSE);	    if (!moreData)		/* if end of list it's time to leave */		break;	    /* 	     * Now xdr the current symbol. Note that xdr_WTX_SYMBOL is not 	     * recursive and will only serialize/de-serialize one symbol node.	     */	    if (!xdr_reference (xdrs, (caddr_t *)ppSymLink, sizeof (WTX_SYMBOL), 				xdr_WTX_SYMBOL))		return (FALSE);	    /* 	     * point to next node, if we are freeing buffers, use the node	     * whose address was saved prior calling xdr_reference().	     */	    ppSymLink = & ((*ppSymLink)->next);	    }	}    return (TRUE);    }/********************************************************************************* xdr_LD_M_SECTION - object module section desciptor**/bool_t xdr_LD_M_SECTION    (    XDR *          xdrs,    LD_M_SECTION * objp    )    {    if (!xdr_u_long (xdrs, (u_long *)&objp->flags))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->addr))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->length))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_LD_M_FILE_DESC - multiple section object file**/bool_t xdr_WTX_MSG_LD_M_FILE_DESC     (    XDR *       xdrs,    WTX_MSG_LD_M_FILE_DESC * objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->filename))	return (FALSE);    if (!xdr_int (xdrs, &objp->loadFlag))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->moduleId))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->nSections))	return (FALSE);    if (!xdr_array (xdrs, (char **) &objp->section, 		    (u_int *) &objp->nSections, 		    (WTX_MAX_SECTION_CNT * sizeof (LD_M_SECTION)), 		    sizeof (LD_M_SECTION), xdr_LD_M_SECTION))	return (FALSE);    if (!xdr_WTX_SYM_LIST (xdrs, &objp->undefSymList))	return (FALSE);        return (TRUE);    }/********************************************************************************* xdr_MODULE_LIST - object module list**/bool_t xdr_WTX_MSG_MODULE_LIST    (    XDR *          xdrs,    WTX_MSG_MODULE_LIST * objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->numObjMod))	return (FALSE);    if (!xdr_array (xdrs, (char **)&objp->modIdList, (u_int *)&objp->numObjMod, 		    (WTX_MAX_MODULE_CNT * sizeof (u_int)), sizeof (u_int), 		    xdr_u_long))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_OBJ_SEGMENT - object module segment**/bool_t xdr_OBJ_SEGMENT    (    XDR *         xdrs,    OBJ_SEGMENT * objp    )    {    if (!xdr_u_long (xdrs, (u_long *)&objp->flags))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->addr))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->length))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->reserved1))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->reserved2))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_MODULE_INFO - object module information**/bool_t xdr_WTX_MSG_MODULE_INFO     (    XDR *         	xdrs,    WTX_MSG_MODULE_INFO * 	objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->moduleId))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->moduleName))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->format))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->group))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->nSegments))	return (FALSE);    if (!xdr_int (xdrs, &objp->loadFlag))	return (FALSE);    if (!xdr_array (xdrs, (char **)&objp->segment, (u_int *)&objp->nSegments, 		    (WTX_MAX_OBJ_SEG_CNT * sizeof (OBJ_SEGMENT)), 		    sizeof (OBJ_SEGMENT), xdr_OBJ_SEGMENT))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_MOD_NAME_OR_ID - object module name or identifier**/bool_t xdr_WTX_MSG_MOD_NAME_OR_ID    (    XDR *            xdrs,    WTX_MSG_MOD_NAME_OR_ID * objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->moduleId))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->filename))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_SYM_LIST - symbol list message**/bool_t xdr_WTX_MSG_SYM_LIST    (    XDR *           xdrs,    WTX_MSG_SYM_LIST * objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_WTX_SYM_LIST (xdrs, &objp->symList))	return (FALSE);    if (!xdr_bool (xdrs, (bool_t *)&objp->moreToCome))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_SYM_MATCH_DESC - symbol matching information**/bool_t xdr_WTX_MSG_SYM_MATCH_DESC     (    XDR *       	xdrs,    WTX_MSG_SYM_MATCH_DESC * 	objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->symTblId))	return (FALSE);    if (!xdr_bool (xdrs, (bool_t *)&objp->matchString))	return (FALSE);    if (!xdr_TGT_ADDR_T (xdrs, &objp->adrs))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->stringToMatch))	return (FALSE);    if (!xdr_bool (xdrs, (bool_t *)&objp->byModuleName)) 	return (FALSE);    /* check if we were given a module name or a module Identifier */    if (objp->byModuleName) 	{	if (!xdr_WRAPSTRING (xdrs, &objp->module.moduleName))	    return (FALSE);	}    else	{	if (!xdr_u_long (xdrs, (u_long *)&objp->module.moduleId))	    return (FALSE);	}    if (!xdr_bool (xdrs, (bool_t *)&objp->listUnknownSym))	return (FALSE);    if (!xdr_bool (xdrs, (bool_t *)&objp->giveMeNext))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_SYM_TBL_INFO - symbol table information**/bool_t xdr_WTX_MSG_SYM_TBL_INFO    (    XDR *          xdrs,    WTX_MSG_SYM_TBL_INFO * objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->symTblId))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->symNum))	return (FALSE);    if (!xdr_bool (xdrs, (bool_t *)&objp->sameNameOk))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_EVENT_DESC - WTX event descriptor**/bool_t xdr_WTX_EVENT_DESC    (    XDR *       xdrs,    WTX_EVENT_DESC * objp    )    {    if (!xdr_WRAPSTRING (xdrs, &objp->event))	return (FALSE);    if (!xdr_bytes (xdrs, (char **) &objp->addlData, 		    (u_int *) &objp->addlDataLen, ~0))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_EVENT_DESC - WTX event descriptor**/bool_t xdr_WTX_MSG_EVENT_DESC    (    XDR *       xdrs,    WTX_MSG_EVENT_DESC * objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_WTX_EVENT_DESC (xdrs, &objp->eventDesc))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_EVENT_REG_DESC - register for event descriptor**/bool_t xdr_WTX_MSG_EVENT_REG_DESC     (    XDR *            xdrs,    WTX_MSG_EVENT_REG_DESC * objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->evtRegExp))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_WDB_SERVICE_DESC - service descriptor **/bool_t xdr_WTX_WDB_SERVICE_DESC    (    XDR *          xdrs,    WTX_WDB_SERVICE_DESC * objp    )    {    if (!xdr_u_int (xdrs, &objp->rpcNum))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->name))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->svcObjFile))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->initRtnName))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_WTX_SERVICE_DESC - service descriptor **/bool_t xdr_WTX_WTX_SERVICE_DESC    (    XDR *          xdrs,    WTX_WTX_SERVICE_DESC * objp    )    {    if (!xdr_WRAPSTRING (xdrs, &objp->svcObjFile))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->svcProcName))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->inProcName))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->outProcName))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_SERVICE_DESC - **/bool_t xdr_WTX_MSG_SERVICE_DESC     (    XDR *            xdrs,    WTX_MSG_SERVICE_DESC * objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_pointer (xdrs, (char **)&objp->pWtxServiceDesc,		      sizeof (WTX_WTX_SERVICE_DESC), 		      xdr_WTX_WTX_SERVICE_DESC))	return (FALSE);    if (!xdr_pointer (xdrs, (char **)&objp->pWdbServiceDesc,		      sizeof (WTX_WDB_SERVICE_DESC), 		      xdr_WTX_WDB_SERVICE_DESC))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_SERVICE_LIST - list of protocol services**/bool_t xdr_WTX_MSG_SERVICE_LIST     (    XDR *          xdrs,    WTX_MSG_SERVICE_LIST * objp    )    {    if (!xdr_WTX_CORE (xdrs, &objp->wtxCore))	return (FALSE);    if (!xdr_u_long (xdrs, (u_long *)&objp->nServices))	return (FALSE);    if (!xdr_array (xdrs, (char **)&objp->serviceDesc, 		    (u_int *)&objp->nServices, 		    (WTX_MAX_SERVICE_CNT * sizeof (WTX_WDB_SERVICE_DESC)), 		    sizeof (WTX_WDB_SERVICE_DESC), xdr_WTX_WDB_SERVICE_DESC))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_CONSOLE_DESC - WTX console descriptor**/bool_t xdr_WTX_CONSOLE_DESC     (    XDR *          xdrs,    WTX_CONSOLE_DESC * objp    )    {    if (!xdr_int (xdrs, &objp->fdIn))	return (FALSE);    if (!xdr_int (xdrs, &objp->fdOut))	return (FALSE);    if (!xdr_int (xdrs, &objp->pid))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->name))	return (FALSE);    if (!xdr_WRAPSTRING (xdrs, &objp->display))	return (FALSE);    return (TRUE);    }/********************************************************************************* xdr_WTX_MSG_CONSOLE_DESC - WTX console descriptor message**/

⌨️ 快捷键说明

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