亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? trv_dbg3.c

?? 嵌入式Linux LED驅動 適合于各種LED顯示和使用
?? C
字號:
/*********************************************************************** * * (C) Copyright 2000 * Jean-Jacques Germond, Fr閐閞ic Soulier, Christian Batt; Alcatel * C/O jjg@sxb.bsf.alcatel.fr * * All rights reserved. * * This code is free software; you can redistribute it and/or * modify it under the terms of the GNU *Library* General Public License * as published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This code is distributed in the hope that it will be useful, but * WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU * *Library* General Public License for more details. * * You should have received a copy of the GNU *Library* General Public * License along with this program (see file COPYING.LIB); if not, * write to the Free Software Foundation, Inc., 675 Mass Ave, * Cambridge, MA 02139, USA. * ***********************************************************************//* The "trivial driver" debug-from-a-unix-process file */#include "stdio.h"#include "fcntl.h"#include "stdlib.h"#include "errno.h"/* Look at very few things (since __KERNEL__ is not defined) in trv_def.h  */#include "trv_def.h"int  total_nb_written[TRV_MAX_DEVICES];   /* The nbr. of caracs written   */int  total_nb_read[TRV_MAX_DEVICES];      /* The nbr. of caracs read back */char* readback[TRV_MAX_DEVICES];  /* The buffers to read back the devices */FILE* fileDesc[TRV_MAX_DEVICES];          /* The Unix file descriptors */static char fname[100];   char*trv_makeFileName(int ivol)     /* Edit a trv path from trv number */{  sprintf(fname,"/dev/trv%d", ivol);  return fname;}  voidtrv_edit_proc(char* msg)     /* Edit a test milestone */{  int len;  if (msg) {    /* Print and underline the message */    printf("\n%s\n", msg);    while (*msg++) printf("-");  /* Underline */    printf("\n\n");  }  fflush(stdout);  system("dd if=/proc/trvmem bs=4k");}    voidedit_read(void)     /* Edit the read buffers */{  int dev_nbr;  int i;  printf("\nTHE READ BUFFERS\n\n");  for (dev_nbr = 0; dev_nbr < TRV_MAX_DEVICES; dev_nbr++) {    int nbchars = total_nb_read[dev_nbr];    char* ptld = readback[dev_nbr];    printf("TRV_%d  (n=%d)", dev_nbr, nbchars);    if ( nbchars == 0) {      printf("\n--- EMPTY DEVICE ---");    } else {      for (i = 0; i < nbchars; i++) {	char aux = *ptld++;	if ( (i % 72) == 0) printf("\n");	if ((aux < ' ') || (aux > '~')) aux = '.';  /* make it printable */	printf("%c", aux);      }    }    printf("\n");  }}  voidtrv_dbg2(void){  char *auxbuf = malloc(1000);   /* An aux buffer */  int j;  int dev_nbr;  int result;  int    more_read;           /* Flag telling that more read are needed */  if (!auxbuf) {    printf("Cannot get auxbuf\n");    exit (1);  }  /* Open the 4 devices for writing */  for (dev_nbr =0 ; dev_nbr < TRV_MAX_DEVICES; dev_nbr++) {     fileDesc[dev_nbr] = fopen(trv_makeFileName(dev_nbr), "w");    if (!fileDesc[dev_nbr]) {      printf("OPEN device %d returns %d\n", dev_nbr, errno);      exit (1);    }    total_nb_written[dev_nbr] = 0;   /* For local accounting */  }  trv_edit_proc("OPEN DONE");  /* Write stuff into each device. Use 2 nested loops.  Outer loops   * forces device 3 to staturate.  Device 0 never get anything.   */  for (j = 0; j < 10; j++) {    for (dev_nbr = 0 ; dev_nbr < TRV_MAX_DEVICES; dev_nbr++) {      int i;      int nb_chars = (dev_nbr + 1) * dev_nbr;      char carac = 'A' + dev_nbr + j;            /* Fill the aux buff for this device */      for (i = 0; i < nb_chars; i++) {	auxbuf[i] = carac;      }      result = fwrite(auxbuf, nb_chars, 1, fileDesc[dev_nbr]);      if (result < 0) {	printf("write error device=%d error=%d\n", dev_nbr, result);	exit(1);      }      total_nb_written[dev_nbr] += nb_chars;  /* What we waned to write */      printf("write ok: dev=%d wanted=%d written=%d total_written=%d\n",	     dev_nbr, nb_chars, result, total_nb_written[dev_nbr]);     }    printf("\n");  }  trv_edit_proc("WRITE DONE");  /* Close all the devices */  for (dev_nbr =0 ; dev_nbr < TRV_MAX_DEVICES; dev_nbr++) {    result = fclose(fileDesc[dev_nbr]);    printf("Close device %d returns %d\n", dev_nbr, result);    if (result != 0) {      exit (1);    }  }  trv_edit_proc("CLOSE DONE");  /* Open the devices for reading */  for (dev_nbr =0 ; dev_nbr < TRV_MAX_DEVICES; dev_nbr++) {    fileDesc[dev_nbr] = fopen(trv_makeFileName(dev_nbr), "r");    printf("OPEN READ device %d returns %d\n", dev_nbr, errno);    if (!fileDesc[dev_nbr]) {      exit (1);    }  }  trv_edit_proc("OPEN READ DONE");  /* Loop to allocate and reset the readback buffers */  for (dev_nbr =0 ; dev_nbr < TRV_MAX_DEVICES; dev_nbr++) {    int i;    char* dataptr;    total_nb_read[dev_nbr] = 0;  /* What we did read */    readback[dev_nbr] = malloc(TRV_MAX_CHARS+4);    if (!readback[dev_nbr]) {      printf("Cannot allocate readback buffer\n");      exit(1);    }    /* Loop to reset the readback buffer */    dataptr = readback[dev_nbr];    /* Reset the aux buff for this device */    for (i = 0; i < TRV_MAX_CHARS; i++) {      dataptr[i] = '*';    }  }  /* Loop to read all the devices in "only-one-read-mode" */  for (dev_nbr = 0 ; dev_nbr < TRV_MAX_DEVICES; dev_nbr++) {    int nb_chars = TRV_MAX_CHARS+100;    char* dataptr = readback[dev_nbr];        result = fread(dataptr, nb_chars, 1, fileDesc[dev_nbr]);    if (result < 0 ) {      printf("Read error device=%d error=%d\n", dev_nbr, result);      exit(1);    }    total_nb_read[dev_nbr] += result;  /* What we did read */        if (total_nb_read[dev_nbr] > TRV_MAX_CHARS) {      printf("Too many bytes out of device %d  n = %d\n",	     dev_nbr, total_nb_read[dev_nbr]);      exit(1);    }    printf("read ok: dev=%d wanted=%d read=%d total_read=%d\n",	   dev_nbr, nb_chars, result, total_nb_read[dev_nbr]);  }    edit_read();  trv_edit_proc("READ BLOCKED DONE");  /* Now try to read in "small buffer" modfe */  /* loop to close and reopen the devices in read mode */  for (dev_nbr =0 ; dev_nbr < TRV_MAX_DEVICES; dev_nbr++) {    result = fclose(fileDesc[dev_nbr]);    if (result != 0) {      printf("Close device %d returns %d\n", dev_nbr, result);      exit (1);    }    fileDesc[dev_nbr] = fopen(trv_makeFileName(dev_nbr), "r");    if (!fileDesc[dev_nbr]) {      printf("OPEN READ device %d returns %d\n", dev_nbr, errno);      exit (1);    }  }  trv_edit_proc("RE_OPEN READ DONE");  /* Loop to reset the readback buffer */  for (dev_nbr = 0 ; dev_nbr < TRV_MAX_DEVICES; dev_nbr++) {    int i;    char* dataptr;    total_nb_read[dev_nbr] = 0;  /* What we did read */    dataptr = readback[dev_nbr];    for (i = 0; i < TRV_MAX_CHARS; i++) {      dataptr[i] = '*';    }  }  /* Loop to read the devices few chars at a time. */  more_read = 1;      /* Tells that some device still returns data */  while(more_read) {    more_read = 0;    /* Loop to read all the devices in "few-char-at-a-time-mode" */    for (dev_nbr = 0 ; dev_nbr < TRV_MAX_DEVICES; dev_nbr++) {      int nb_chars = 1 + (dev_nbr * 2);      char* dataptr = readback[dev_nbr] + total_nb_read[dev_nbr];            result = fread(dataptr, nb_chars, 1, fileDesc[dev_nbr]);      if ((result < 0) || (result > nb_chars)) {	printf("Read error device=%d error=%d\n", dev_nbr, result);	exit(1);      }      total_nb_read[dev_nbr] += result;  /* What we did read */      /* Rearm the loop if at least one device is still active */      if (result) more_read = 1;            if (total_nb_read[dev_nbr] > TRV_MAX_CHARS) {	printf("Too many bytes out of device %d  n = %d\n",	       dev_nbr, total_nb_read[dev_nbr]);	exit(1);      }    }  }  edit_read();  trv_edit_proc("READ FEW BYTE DONE");  /* Final loop to close the devices */  for (dev_nbr =0 ; dev_nbr < TRV_MAX_DEVICES; dev_nbr++) {    result = fclose(fileDesc[dev_nbr]);    if (result != 0) {      printf("Close device %d returns %d\n", dev_nbr, result);      exit (1);    }  }}main(){  printf("UNIX trv test starting\n");  trv_dbg2();  printf("UNIX trv test ending ok\n");  exit(0);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久精品这里都是精品| 亚洲成人1区2区| 亚洲综合色网站| 久久精品久久久精品美女| 99久久国产综合色|国产精品| 欧美丰满美乳xxx高潮www| 日本一区二区三级电影在线观看 | 国产免费久久精品| 亚洲大片精品永久免费| 成人午夜电影久久影院| 日韩欧美电影一二三| 一区二区高清免费观看影视大全| 国产精品一区在线观看乱码| 欧美精品久久天天躁| 亚洲色图制服诱惑| 99久久免费国产| 久久精品在这里| 国产精品一区二区男女羞羞无遮挡| 欧美精品一二三四| 亚洲已满18点击进入久久| 成人永久免费视频| 国产欧美一区二区三区在线老狼| 蜜臀国产一区二区三区在线播放| 欧美熟乱第一页| 一区二区在线观看免费视频播放| 成人av资源网站| 国产精品欧美极品| 不卡一区二区在线| **性色生活片久久毛片| 成人午夜精品在线| 国产精品亲子伦对白| 成人综合婷婷国产精品久久蜜臀| 国产亚洲制服色| 国产成人午夜电影网| 亚洲精品一区二区三区福利 | 亚洲韩国精品一区| 欧美性xxxxxx少妇| 天使萌一区二区三区免费观看| 欧美在线免费视屏| 丝袜美腿一区二区三区| 欧美日韩国产美女| 久久er99精品| 国产午夜精品一区二区三区视频| 国产激情精品久久久第一区二区| 国产欧美日本一区视频| 成人听书哪个软件好| 国产精品三级电影| 欧美在线小视频| 免费成人在线网站| 欧美精彩视频一区二区三区| 成人av网址在线观看| 一区二区三区四区精品在线视频 | 午夜精品久久久久久久蜜桃app| 欧美色精品在线视频| 午夜精品福利在线| 久久综合精品国产一区二区三区 | 国产精品久久看| 91小视频在线免费看| 亚洲成a人v欧美综合天堂下载 | 国产一区二区三区高清播放| 久久久美女毛片| 一本色道久久综合亚洲精品按摩| 亚洲v日本v欧美v久久精品| 欧美xingq一区二区| 成人丝袜高跟foot| 日本欧美一区二区三区| 国产香蕉久久精品综合网| 丁香激情综合国产| 亚洲成人激情自拍| 日本一区二区三区久久久久久久久不| 色婷婷亚洲婷婷| 国内精品嫩模私拍在线| 亚洲人成网站在线| 日韩三级在线观看| 色婷婷综合在线| 韩国av一区二区三区四区 | 欧美三级电影精品| 国产乱码一区二区三区| 亚洲韩国一区二区三区| 日本一区二区三区久久久久久久久不| 欧美日韩精品福利| 成人性色生活片| 免费成人结看片| 一区二区三区资源| 国产精品美女一区二区在线观看| 欧美精三区欧美精三区| 菠萝蜜视频在线观看一区| 久久精品国产免费看久久精品| 一区二区高清视频在线观看| 国产日韩一级二级三级| 91精品国产综合久久婷婷香蕉 | 亚洲精品一区二区三区福利| 色综合 综合色| 成人99免费视频| 国产精品一区二区在线看| 日韩不卡一区二区三区| 亚洲综合区在线| 亚洲日本在线天堂| 国产精品欧美极品| 国产日韩欧美高清在线| 日韩一区二区在线观看| 欧美熟乱第一页| 欧美亚洲综合在线| 色综合欧美在线视频区| 北条麻妃国产九九精品视频| 国产高清成人在线| 国产在线视视频有精品| 蜜桃传媒麻豆第一区在线观看| 日本欧美久久久久免费播放网| 亚洲一区二区三区三| 一区二区三区精品| 亚洲国产精品久久久久秋霞影院| 亚洲资源中文字幕| 一区二区三区久久| 亚洲影视在线播放| 三级欧美韩日大片在线看| 亚洲国产日韩综合久久精品| 亚洲国产sm捆绑调教视频 | 6080日韩午夜伦伦午夜伦| 欧洲人成人精品| 欧美午夜一区二区三区免费大片| 91麻豆国产福利在线观看| 色先锋资源久久综合| 欧美视频在线观看一区| 欧美精品 日韩| 日韩欧美国产综合| 久久久91精品国产一区二区精品| 国产人伦精品一区二区| 国产精品成人一区二区三区夜夜夜| 国产精品三级av| 亚洲一二三四久久| 捆绑调教美女网站视频一区| 国产精品18久久久久久久久| 成人免费看的视频| 在线免费av一区| 日韩视频一区二区在线观看| 久久久蜜桃精品| 一区二区三区在线免费观看| 爽爽淫人综合网网站 | 美日韩一级片在线观看| 久久精品国产亚洲a| 国产成人高清视频| 欧美午夜精品一区| 精品国精品国产尤物美女| 国产精品无圣光一区二区| 亚洲一区二区三区中文字幕| 青青草国产精品97视觉盛宴| 国产一区二区在线影院| jvid福利写真一区二区三区| 欧美天天综合网| 久久综合久久综合久久| 一区二区不卡在线视频 午夜欧美不卡在| 五月综合激情日本mⅴ| 国产在线麻豆精品观看| 色一区在线观看| 久久综合狠狠综合久久综合88| 夜夜精品视频一区二区 | 色哟哟精品一区| 精品国内二区三区| 亚洲成人免费电影| 粉嫩aⅴ一区二区三区四区| 欧美日韩在线播放一区| 国产三级一区二区| 另类欧美日韩国产在线| 一本到高清视频免费精品| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 国产一区二区三区四区五区美女 | 久久精品二区亚洲w码| 91色视频在线| 久久综合久久综合九色| 五月激情六月综合| 99精品视频在线观看免费| 精品裸体舞一区二区三区| 亚洲国产成人91porn| 91免费精品国自产拍在线不卡| 欧美xxx久久| 日韩综合小视频| 欧美色男人天堂| 一区二区日韩av| 色婷婷亚洲精品| 亚洲欧美色图小说| 91丨九色丨尤物| 国产精品区一区二区三区| 水野朝阳av一区二区三区| 在线看一区二区| 亚洲综合在线五月| 一本一道久久a久久精品| 国产精品高潮呻吟久久| 国内精品免费**视频| 精品久久一区二区| 久久97超碰色| 日韩精品一区二区三区视频| 首页国产丝袜综合| 欧美一级在线视频| 人人精品人人爱| 日韩欧美一级二级| 激情图片小说一区| 久久你懂得1024| 成人免费视频国产在线观看| 久久久国产午夜精品|