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

📄 hpcfsrpc.c

📁 vxworks的BSP开发配置文件
💻 C
字号:
/* hpcFsRpc.c - Simple "RPC" protocol for HPCFS *//* Copyright 1996-1998 Wind River Systems, Inc.; Copyright 2000 Intel Corp. *//*modification history--------------------01a,29Jun00,jdg  written*//*DESCRIPTIONThis library provides a very simple implementation of RPC for use by the HPCFS*/#include "hpcFsRpc.h"/********************************************************************************* hpcRpcWrInt - Writes a 32-bit int into a buffer** This routine writes a 32-bit int into a buffer and returns* the new buffer pointer** RETURNS: new buffer pointer*/char* hpcRpcWrInt(    char *buf,  /* buffer pointer */    int data    /* 32-bit int to be written into buffer */){    *buf++ = (data >>  0) & 0xFF;    *buf++ = (data >>  8) & 0xFF;    *buf++ = (data >> 16) & 0xFF;    *buf++ = (data >> 24) & 0xFF;    return buf;}/********************************************************************************* hpcRpcWrCStr - Writes a C string into a buffer** This routine writes a C string into a buffer and returns* the new buffer pointer** RETURNS: new buffer pointer*/char* hpcRpcWrCStr(    char *buf,  /* buffer pointer */    char *str   /* C string */){    while (*str) {        *buf++ = *str++;    }    *buf++ = 0;    return buf;}/********************************************************************************* hpcRpcWrData - Writes a block of data into a buffer** This routine writes a block of data into a buffer and returns* the new buffer pointer** RETURNS: new buffer pointer*/char* hpcRpcWrData(    char *buf,     /* buffer pointer */    char *data,    /* data block */    int   data_len /* length of data */){    buf = hpcRpcWrInt(buf, data_len);    for (; data_len > 0; data_len--)        *buf++ = *data++;    return buf;}/********************************************************************************* hpcRpcRdInt - Reads a 32-bit int into a buffer** This routine reads a 32-bit int from a buffer and returns* the new buffer pointer** RETURNS: new buffer pointer*/char* hpcRpcRdInt(    char *buf,  /* buffer pointer */    int *data   /* 32-bit int to be written into buffer */){    int d;    unsigned char *b = (unsigned char*)buf;    d = *b++;    d |= (*b++) << 8;    d |= (*b++) << 16;    d |= (*b++) << 24;    *data = d;    return (char*) b;}/********************************************************************************* hpcRpcRdCStr - Reads a C string from a buffer** This routine reads a C string from a buffer and returns* the new buffer pointer** RETURNS: new buffer pointer*/char* hpcRpcRdCStr(    char *buf,  /* buffer pointer */    char *str   /* C string */){    while (*buf) {        *str++ = *buf++;    }    *str = 0;    return buf+1;}/********************************************************************************* hpcRpcGetCStr - Reads a C string from a buffer** This routine reads a C string from a buffer and returns* the new buffer pointer. The string read resides in the original buffer,* it does not get copied to a user buffer.** RETURNS: new buffer pointer*/char* hpcRpcGetCStr(    char *buf,  /* buffer pointer */    char **str  /* pointer to C string */){    *str = buf;    while (*buf) {        buf++;    }    return buf+1;}/********************************************************************************* hpcRpcRdData - Reads a block of data into a buffer** This routine reads a block of data into a buffer and returns* the new buffer pointer** RETURNS: new buffer pointer*/char* hpcRpcRdData(    char *buf,     /* buffer pointer */    char *data,    /* data block */    int  *data_len /* length of data */){    int dl;    buf = hpcRpcRdInt(buf, &dl);    *data_len = dl;    for (; dl > 0; dl--)        *data++ = *buf++;    return buf;}

⌨️ 快捷键说明

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