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

📄 gdb-fileio.c

📁 ecos实时嵌入式操作系统
💻 C
📖 第 1 页 / 共 2 页
字号:
} // cyg_hal_gdbfileio_open()__externC intcyg_hal_gdbfileio_close( int fd, int *sig ){    unsigned int i=0;    fio_int_t ffd;    gdbfileio_newlib_to_fio_int_t( &fd, &ffd );    __remcomOutBuffer[i++] = 'F';    __remcomOutBuffer[i++] = 'c';    __remcomOutBuffer[i++] = 'l';    __remcomOutBuffer[i++] = 'o';    __remcomOutBuffer[i++] = 's';    __remcomOutBuffer[i++] = 'e';    __remcomOutBuffer[i++] = ',';    i += chars_to_hex( (char *)&ffd, &__remcomOutBuffer[i], sizeof(ffd) );    // i now points after the parameter    __remcomOutBuffer[i] = 0;    return gdbfileio_common_sendpkt( __remcomOutBuffer, sig );} // cyg_hal_gdbfileio_close()__externC intcyg_hal_gdbfileio_read( int fd, void *buf, size_t count, int *sig ){    unsigned int i=0;    fio_int_t ffd;    fio_uint_t fcount;    unsigned int uicount = (unsigned int)count;    gdbfileio_newlib_to_fio_int_t( &fd, &ffd );    gdbfileio_newlib_to_fio_uint_t( &uicount, &fcount );    __remcomOutBuffer[i++] = 'F';    __remcomOutBuffer[i++] = 'r';    __remcomOutBuffer[i++] = 'e';    __remcomOutBuffer[i++] = 'a';    __remcomOutBuffer[i++] = 'd';    __remcomOutBuffer[i++] = ',';    i += chars_to_hex( (char *)&ffd, &__remcomOutBuffer[i], sizeof(ffd) );    // i now points after the parameter    __remcomOutBuffer[i++] = ',';    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)buf,                     sizeof(buf)*8 );    __remcomOutBuffer[i++] = ',';    i += chars_to_hex( (char *)&fcount, &__remcomOutBuffer[i], sizeof(fcount) );    __remcomOutBuffer[i] = 0;    return gdbfileio_common_sendpkt( __remcomOutBuffer, sig );} // cyg_hal_gdbfileio_read()__externC intcyg_hal_gdbfileio_write( int fd, const void *buf, size_t count, int *sig ){    unsigned int i=0;    fio_int_t ffd;    fio_uint_t fcount;    unsigned int uicount = (unsigned int)count;    gdbfileio_newlib_to_fio_int_t( &fd, &ffd );    gdbfileio_newlib_to_fio_uint_t( &uicount, &fcount );    __remcomOutBuffer[i++] = 'F';    __remcomOutBuffer[i++] = 'w';    __remcomOutBuffer[i++] = 'r';    __remcomOutBuffer[i++] = 'i';    __remcomOutBuffer[i++] = 't';    __remcomOutBuffer[i++] = 'e';    __remcomOutBuffer[i++] = ',';    i += chars_to_hex( (char *)&ffd, &__remcomOutBuffer[i], sizeof(ffd) );    // i now points after the parameter    __remcomOutBuffer[i++] = ',';    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)buf,                     sizeof(buf)*8 );    __remcomOutBuffer[i++] = ',';    i += chars_to_hex( (char *)&fcount, &__remcomOutBuffer[i], sizeof(fcount) );    __remcomOutBuffer[i] = 0;    return gdbfileio_common_sendpkt( __remcomOutBuffer, sig );} // cyg_hal_gdbfileio_write()__externC intcyg_hal_gdbfileio_lseek( int fd, /* off_t */ long offset, int whence, int *sig ){    unsigned int i=0;    fio_int_t ffd;    fio_long_t foffset;    fio_int_t fwhence;    gdbfileio_newlib_to_fio_int_t( &fd, &ffd );    gdbfileio_newlib_to_fio_long_t( &offset, &foffset );    gdbfileio_newlib_to_fio_int_t( &whence, &fwhence );    __remcomOutBuffer[i++] = 'F';    __remcomOutBuffer[i++] = 'l';    __remcomOutBuffer[i++] = 's';    __remcomOutBuffer[i++] = 'e';    __remcomOutBuffer[i++] = 'e';    __remcomOutBuffer[i++] = 'k';    __remcomOutBuffer[i++] = ',';    i += chars_to_hex( (char *)&ffd, &__remcomOutBuffer[i], sizeof(ffd) );    // i now points after the parameter    __remcomOutBuffer[i++] = ',';    i += chars_to_hex( (char *)&foffset, &__remcomOutBuffer[i],                       sizeof(foffset) );    __remcomOutBuffer[i++] = ',';    i += chars_to_hex( (char *)&fwhence, &__remcomOutBuffer[i],                       sizeof(fwhence) );    __remcomOutBuffer[i] = 0;    return gdbfileio_common_sendpkt( __remcomOutBuffer, sig );} // cyg_hal_gdbfileio_lseek()__externC intcyg_hal_gdbfileio_rename( const char *oldpath, const char *newpath, int *sig ){    unsigned int i=0;    size_t namelen;    __remcomOutBuffer[i++] = 'F';    __remcomOutBuffer[i++] = 'r';    __remcomOutBuffer[i++] = 'e';    __remcomOutBuffer[i++] = 'n';    __remcomOutBuffer[i++] = 'a';    __remcomOutBuffer[i++] = 'm';    __remcomOutBuffer[i++] = 'e';    __remcomOutBuffer[i++] = ',';    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)oldpath,                     sizeof(oldpath)*8 );    // i now points after the parameter    __remcomOutBuffer[i++] = '/';    namelen = strlen( oldpath )+1; // includes '\0'    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)namelen,                     sizeof(namelen)*8 );    __remcomOutBuffer[i++] = ',';    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)newpath,                     sizeof(newpath)*8 );    // i now points after the parameter    __remcomOutBuffer[i++] = '/';    namelen = strlen( newpath )+1; // includes '\0'    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)namelen,                     sizeof(namelen)*8 );    __remcomOutBuffer[i] = 0;    return gdbfileio_common_sendpkt( __remcomOutBuffer, sig );} // cyg_hal_gdbfileio_rename()__externC intcyg_hal_gdbfileio_unlink( const char *pathname, int *sig ){    unsigned int i=0;    size_t namelen;    __remcomOutBuffer[i++] = 'F';    __remcomOutBuffer[i++] = 'u';    __remcomOutBuffer[i++] = 'n';    __remcomOutBuffer[i++] = 'l';    __remcomOutBuffer[i++] = 'i';    __remcomOutBuffer[i++] = 'n';    __remcomOutBuffer[i++] = 'k';    __remcomOutBuffer[i++] = ',';    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)pathname,                     sizeof(pathname)*8 );    // i now points after the parameter    __remcomOutBuffer[i++] = '/';    namelen = strlen( pathname )+1; // includes '\0'    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)namelen,                     sizeof(namelen)*8 );    __remcomOutBuffer[i] = 0;    return gdbfileio_common_sendpkt( __remcomOutBuffer, sig );} // cyg_hal_gdbfileio_unlink()__externC intcyg_hal_gdbfileio_isatty( int fd, int *sig ){    unsigned int i=0;    fio_int_t ffd;    gdbfileio_newlib_to_fio_int_t( &fd, &ffd );    __remcomOutBuffer[i++] = 'F';    __remcomOutBuffer[i++] = 'i';    __remcomOutBuffer[i++] = 's';    __remcomOutBuffer[i++] = 'a';    __remcomOutBuffer[i++] = 't';    __remcomOutBuffer[i++] = 't';    __remcomOutBuffer[i++] = 'y';    __remcomOutBuffer[i++] = ',';    i += chars_to_hex( (char *)&ffd, &__remcomOutBuffer[i], sizeof(ffd) );    // i now points after the parameter    __remcomOutBuffer[i] = 0;    return gdbfileio_common_sendpkt( __remcomOutBuffer, sig );} // cyg_hal_gdbfileio_isatty()__externC intcyg_hal_gdbfileio_system( const char *command, int *sig ){    unsigned int i=0;    size_t namelen;    __remcomOutBuffer[i++] = 'F';    __remcomOutBuffer[i++] = 's';    __remcomOutBuffer[i++] = 'y';    __remcomOutBuffer[i++] = 's';    __remcomOutBuffer[i++] = 't';    __remcomOutBuffer[i++] = 'e';    __remcomOutBuffer[i++] = 'm';    __remcomOutBuffer[i++] = ',';    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)command,                     sizeof(command)*8 );    // i now points after the parameter    __remcomOutBuffer[i++] = '/';    namelen = strlen( command )+1; // includes '\0'    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)namelen,                     sizeof(namelen)*8 );    __remcomOutBuffer[i] = 0;    return gdbfileio_common_sendpkt( __remcomOutBuffer, sig );} // cyg_hal_gdbfileio_system()__externC intcyg_hal_gdbfileio_gettimeofday( void *tv, void *tz, int *sig ){    unsigned int i=0;    struct newlib_timeval *ntv = (struct newlib_timeval *)tv;    struct fio_timeval ftv;    int rc;    // protocol doesn't support non-null timezone. Just enforce it here.    if (NULL != tz)        return -FILEIO_EINVAL;    __remcomOutBuffer[i++] = 'F';    __remcomOutBuffer[i++] = 'g';    __remcomOutBuffer[i++] = 'e';    __remcomOutBuffer[i++] = 't';    __remcomOutBuffer[i++] = 't';    __remcomOutBuffer[i++] = 'i';    __remcomOutBuffer[i++] = 'm';    __remcomOutBuffer[i++] = 'e';    __remcomOutBuffer[i++] = 'o';    __remcomOutBuffer[i++] = 'f';    __remcomOutBuffer[i++] = 'd';    __remcomOutBuffer[i++] = 'a';    __remcomOutBuffer[i++] = 'y';    __remcomOutBuffer[i++] = ',';    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)&ftv,                     sizeof(&ftv)*8 );    __remcomOutBuffer[i++] = ',';    __remcomOutBuffer[i++] = '0'; // tzptr    __remcomOutBuffer[i] = 0;    rc = gdbfileio_common_sendpkt( __remcomOutBuffer, sig );    // now ftv should have its contents filled    gdbfileio_fio_to_newlib_time_t( &ftv.tv_sec, &ntv->tv_sec );    gdbfileio_fio_to_newlib_long_t( &ftv.tv_usec, &ntv->tv_usec );    return rc;} // cyg_hal_gdbfileio_gettimeofday()__externC intcyg_hal_gdbfileio_stat( const char *pathname, struct newlib_stat *buf,                        int *sig ){    unsigned int i=0;    int rc;    size_t namelen;    struct fio_stat fbuf;    __remcomOutBuffer[i++] = 'F';    __remcomOutBuffer[i++] = 's';    __remcomOutBuffer[i++] = 't';    __remcomOutBuffer[i++] = 'a';    __remcomOutBuffer[i++] = 't';    __remcomOutBuffer[i++] = ',';    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)pathname,                     sizeof(pathname)*8 );    // i now points after the parameter    __remcomOutBuffer[i++] = '/';    namelen = strlen( pathname )+1; // includes '\0'    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)namelen,                     sizeof(namelen)*8 );    __remcomOutBuffer[i++] = ',';    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)&fbuf,                     sizeof(&fbuf)*8 );    __remcomOutBuffer[i] = 0;    rc = gdbfileio_common_sendpkt( __remcomOutBuffer, sig );    // now fbuf should have its contents filled    gdbfileio_fio_to_newlib_dev_t( &fbuf.st_dev, &buf->st_dev );    gdbfileio_fio_to_newlib_ino_t( &fbuf.st_ino, &buf->st_ino );    gdbfileio_fio_to_newlib_mode_t( &fbuf.st_mode, &buf->st_mode );    gdbfileio_fio_to_newlib_nlink_t( &fbuf.st_nlink, &buf->st_nlink );    gdbfileio_fio_to_newlib_uid_t( &fbuf.st_uid, &buf->st_uid );    gdbfileio_fio_to_newlib_gid_t( &fbuf.st_gid, &buf->st_gid );    gdbfileio_fio_to_newlib_dev_t( &fbuf.st_rdev, &buf->st_rdev );    gdbfileio_fio_to_newlib_off_t( &fbuf.st_size, &buf->st_size );    gdbfileio_fio_to_newlib_off_t( &fbuf.st_size, &buf->st_size );    gdbfileio_fio_to_newlib_off_t( &fbuf.st_size, &buf->st_size );    gdbfileio_fio_to_newlib_off_t( &fbuf.st_size, &buf->st_size );#if !defined(__svr4__) || defined(__PPC__) || defined(__sun__)    gdbfileio_fio_to_newlib_long_t( &fbuf.st_blksize, &buf->st_blksize );    gdbfileio_fio_to_newlib_long_t( &fbuf.st_blocks, &buf->st_blocks );#endif    gdbfileio_fio_to_newlib_time_t( &fbuf.st_atime, &buf->st_atime );    gdbfileio_fio_to_newlib_time_t( &fbuf.st_mtime, &buf->st_mtime );    gdbfileio_fio_to_newlib_time_t( &fbuf.st_ctime, &buf->st_ctime );    return rc;} // cyg_hal_gdbfileio_stat()__externC intcyg_hal_gdbfileio_fstat( int fd, struct newlib_stat *buf, int *sig ){    unsigned int i=0;    int rc;    struct fio_stat fbuf;    __remcomOutBuffer[i++] = 'F';    __remcomOutBuffer[i++] = 'f';    __remcomOutBuffer[i++] = 's';    __remcomOutBuffer[i++] = 't';    __remcomOutBuffer[i++] = 'a';    __remcomOutBuffer[i++] = 't';    __remcomOutBuffer[i++] = ',';    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)fd,                     sizeof(fd)*8 );    // i now points after the parameter    __remcomOutBuffer[i++] = ',';    i += __intToHex( &__remcomOutBuffer[i], (target_register_t)&fbuf,                     sizeof(&fbuf)*8 );    __remcomOutBuffer[i] = 0;    rc = gdbfileio_common_sendpkt( __remcomOutBuffer, sig );    // now fbuf should have its contents filled    gdbfileio_fio_to_newlib_dev_t( &fbuf.st_dev, &buf->st_dev );    gdbfileio_fio_to_newlib_ino_t( &fbuf.st_ino, &buf->st_ino );    gdbfileio_fio_to_newlib_mode_t( &fbuf.st_mode, &buf->st_mode );    gdbfileio_fio_to_newlib_nlink_t( &fbuf.st_nlink, &buf->st_nlink );    gdbfileio_fio_to_newlib_uid_t( &fbuf.st_uid, &buf->st_uid );    gdbfileio_fio_to_newlib_gid_t( &fbuf.st_gid, &buf->st_gid );    gdbfileio_fio_to_newlib_dev_t( &fbuf.st_rdev, &buf->st_rdev );    gdbfileio_fio_to_newlib_off_t( &fbuf.st_size, &buf->st_size );    gdbfileio_fio_to_newlib_off_t( &fbuf.st_size, &buf->st_size );    gdbfileio_fio_to_newlib_off_t( &fbuf.st_size, &buf->st_size );    gdbfileio_fio_to_newlib_off_t( &fbuf.st_size, &buf->st_size );#if !defined(__svr4__) || defined(__PPC__) || defined(__sun__)    gdbfileio_fio_to_newlib_long_t( &fbuf.st_blksize, &buf->st_blksize );    gdbfileio_fio_to_newlib_long_t( &fbuf.st_blocks, &buf->st_blocks );#endif    gdbfileio_fio_to_newlib_time_t( &fbuf.st_atime, &buf->st_atime );    gdbfileio_fio_to_newlib_time_t( &fbuf.st_mtime, &buf->st_mtime );    gdbfileio_fio_to_newlib_time_t( &fbuf.st_ctime, &buf->st_ctime );    return rc;} // cyg_hal_gdbfileio_fstat()/* EOF gdb-fileio.c */

⌨️ 快捷键说明

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