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

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

?? proc_cmd.c

?? 《linux C語言應用》一書附帶的光盤
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/ipc.h>
#include <sys/msg.h>
#include <sys/time.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <termios.h>
#include <errno.h>

#include "args_cmd.h"
#include "thread.h"


#include "types.h"
#include "define.h"
#include "ctrl.h"

#define CHECK_DEV	if (!(*is_me)) {\
						printf("I have not set anything\n");\
						if (g_is_dev_busy) {\
							printf("device is busy now \n");\
							return RPL_DEV_BUSY;\
						}else{	\
							*is_me =1;\
							g_is_dev_busy =1;\
						}\
					}
int sound_state=0;
extern int g_is_running;
extern int g_is_dev_busy;

extern struct  sockaddr_in tcp_client_addr[25];

int do_sth(){
	return RPL_NOT_IMPLEMENT;
}

//extern THREAD_RETURN THREAD_API play_snd(void* arg);
int get_com_setting( char * buf, unsigned int *nlen )
{
 if ( *nlen == 0)
 {
 }

 strcpy(buf,"9600,8,N,1");
 return 0;
}

static inline int eight_bit_add(char *ch, int startx, int endx)
{
 int count = 0;
 int i;
 for ( i = startx ; i <= endx; ++ i )
  {	count += ch[i];
  }
 return count % 256;
}

int control_device( int camera_no, uint16_t action, int com_handle,const char * add_data, size_t length )
{
 char ch[7] = {0xff,camera_no + 1,0,0,0,0,0};
 switch(action)
 {
  case 0://stop
    ch[2] = 0;
    ch[3] = 0;
    ch[4] = 0;
    ch[5] = 0;
    break;
  case 1://up
    ch[2] = 0;
    ch[3] = 0x08;
    ch[4] = 0;
    ch[5] = 0x2f;
    printf("action:up\n");
   break;
  case 2://down
    printf("case 2!\n");
    ch[2] = 0;
    ch[3] = 0x10;
    ch[4] = 0;
    ch[5] = 0x2f;
    printf("action:down\n");
   break;
  case 3://left
    ch[2] = 0;
    ch[3] = 0x04;
    ch[4] = 0x2f;
    ch[5] = 0;
    printf("action:left\n");
   break;
  case 4://right
    ch[2] = 0;
    ch[3] = 0x02;
    ch[4] = 0x2f;
    ch[5] = 0;
    printf("action:right\n");
   break;
  case 5://aperture+
    ch[2] = 0x02;
    ch[3] = 0;
    ch[4] = 0;
    ch[5] = 0;
    printf("action:iris +\n");
   break;
  case 6://aperture-
    ch[2] = 0x04;
    ch[3] = 0;
    ch[4] = 0;
    ch[5] = 0;
    printf("action:iris -\n");
   break;
  case 7://zoom +
    ch[2] = 0;
    ch[3] = 0x20;
    ch[4] = 0;
    ch[5] = 0;
    printf("action:zoom+\n");
   break;
  case 8://zoom-
    ch[2] = 0;
    ch[3] = 0x40;
    ch[4] = 0;
    ch[5] = 0;
    printf("action:zoom-\n");
   break;
  case 9://focus+
    ch[2] = 0x01;
    ch[3] = 0;
    ch[4] = 0;
    ch[5] = 0;
    printf("action:focus+\n");
   break;
  case 10://focus-
    ch[2] = 0;
    ch[3] = 0x80;
    ch[4] = 0;
    ch[5] = 0;
    printf("aciont:focus-\n");
   break;
  case 11:
    ch[2] = 0x00;
    ch[3] = 0x07;
    ch[4] = 0x00;
    ch[5] = 0x63;
   break;
  case 12:
    ch[2] = 0x00;
    ch[3] = 0x07;
    ch[4] = 0x00;
    ch[5] = 0x60;
   break;
  case 13:
    ch[2] = 0;
    ch[3] = 0x09;
    ch[4] = 0;
    ch[5] = 0x01;
   break;
  case 14:
    ch[2] = 0;
    ch[3] = 0x0b;
    ch[4] = 0;
    ch[5] = 0x01;
   break;
  case 15:
    ch[2] = 0;
    ch[3] = 0x09;
    ch[4] = 0;
    ch[5] = 0x04;
   break;
  case 16:
    ch[2] = 0;
    ch[3] = 0x0b;
    ch[4] = 0;
    ch[5] = 0x04;
   break;
  case 17:
    ch[2] = 0;
    ch[3] = 0x09;
    ch[4] = 0;
    ch[5] = 0x02;
   break;
  case 18:
    ch[2] = 0;
    ch[3] = 0x0b;
    ch[4] = 0;
    ch[5] = 0x02;
   break;
  case 19:
    ch[2] = 0;
    ch[3] = 0x09;
    ch[4] = 0;
    ch[5] = 0x03;
   break;
  case 20:
    ch[2] = 0;
    ch[3] = 0x0b;
    ch[4] = 0;
    ch[5] = 0x03;
   break;
  
  case 8200:
  {
	printf("8200!\n");
    if ( length == 2 || length == 4 )
    {
      int i = 0;
AGAIN:      
    	printf("%c,%d,",add_data[i],add_data[i+1]);
	    switch (add_data[i])
    	{
		    case 'U':
	  printf("case U!\n");
          ch[3] += 0x08;
          ch[5] = add_data[i+1] * 0x3F / 255;
          break;
    		case 'D':
          ch[3] += 0x10;
          ch[5] = add_data[i+1] * 0x3F / 255;
          break;
		case 'L':
          ch[3] += 0x04;
          ch[4] = add_data[i+1] * 0x3F / 255;
          break;
    		case 'R':
          ch[3] += 0x02;
          ch[4] = add_data[i+1] * 0x3F / 255;
          break;
    		default:
  		  	return -1;
    	}
     
    	if ( length == 4 )
      {
        i += 2;
        length = 120; // is not 4
        goto AGAIN;
      }  
      printf("\n");
    }
    else 
	    return -1;
       
    break;
  }
  case 8202:
  {
    ch[2] = 0;
    ch[3] = 0;
    ch[4] = 0;
    ch[5] = 0;
    break;
  }
  case 8206:
  {
    if ( add_data[0] <= 32 )
    {
      ch[2] = 0x00;
      ch[3] = 0x03;
      ch[4] = 0x00;
      ch[5] = add_data[0];
    }
    else
    {
      ch[2] = 0x02;
      ch[3] = 0xFF;
      ch[4] = add_data[0] - 33;
      ch[5] = 0x01;
    }
    break;
  }
  case 8208:
 {
 	return -1;
 }
  break;
  case 8210:
  {
    if ( add_data[0] <= 32 )
    {
      ch[2] = 0x00;
      ch[3] = 0x07;
      ch[4] = 0x00;
      ch[5] = add_data[0];
    }
    else
    {
      ch[2] = 0x02;
      ch[3] = 0xFF;
      ch[4] = add_data[0] - 33;
      ch[5] = 0x00;
    }
    break;
  }
  case 8212:
   return -1;
  case 8300:
  {
    if ( add_data[0] )
      ch[2] = 0x02;
    else
      ch[2] = 0x04;

    ch[3] = 0;
    ch[4] = 0;
    ch[5] = 0;
    break;
  }
  case 8302:
  {
    ch[2] = 0;
    ch[4] = 0;
    ch[5] = 0;
    if ( add_data[0] )
      ch[3] = 0x20;
    else
      ch[3] = 0x40;
    break;
  }
  case 8304:
  {
    if ( add_data[0] )
      ch[2] = 0x01;
    else
      ch[3] = 0x80;
    break;
  }
  case 8306:
  case 8308:
  case 8310:
  {
    ch[2] = 0;
    ch[3] = 0;
    ch[4] = 0;
    ch[5] = 0;
	printf("8310!\n");
    break;
  }
  case 8204:
  {
    if ( add_data[0] )
    {
      ch[2] = 0x10;
      ch[3] = 0x00;
      ch[4] = 0x00;
      ch[5] = 0x00;
      ch[6] = eight_bit_add(ch,1,5);
      write(com_handle, ch, 7);
           
    }
    ch[2] = 0x00;
    ch[3] = 0x07;
    ch[4] = 0x00;
    if ( add_data[0] )
      ch[5] = 0x63;
    else
      ch[5] = 0x60;
    break;
  }
  
  default: // not supported!
   return -1;
 }

 ch[6] = eight_bit_add(ch,1,5);
 write(com_handle, ch, 7);
 usleep(500000); 

 return 0;
}

int set_opt(int fd,int nSpeed, int nBits, char nEvent, int nStop)
{
	
	struct termios newtio,oldtio;
	if  ( tcgetattr( fd,&oldtio)  !=  0) { 
		perror("SetupSerial 1");     
		return -1;  
	}
	

	bzero( &newtio, sizeof( newtio ) );
	
	newtio.c_cflag &= ~CSIZE; 
	// set the nBits 
  	switch( nBits )
  	{
  	case 7:
  	    	newtio.c_cflag |= CS7;
		break;
  	case 8:
      		newtio.c_cflag |= CS8;
	  	break;
  	}
  
//Set the Check mode and StopBit
	switch( nEvent )
	{
	case 'O': //odd
		newtio.c_cflag |= PARENB;
		newtio.c_cflag |= PARODD;
		newtio.c_iflag |= (INPCK | ISTRIP);

		break;
	case 'E': //even
		newtio.c_iflag |= (INPCK | ISTRIP);
		newtio.c_cflag |= PARENB;
		newtio.c_cflag &= ~PARODD;

		break;
  	case 'N':  //NULL
  		newtio.c_cflag &= ~PARENB;
  		break;
  	}
  	newtio.c_cflag  |=  CLOCAL | CREAD;

  	switch( nSpeed )
  	{
    	case 2400:
    		cfsetispeed(&newtio, B2400);
	    	cfsetospeed(&newtio, B2400);
      		break;
    	case 4800:
      		cfsetispeed(&newtio, B4800);
      		cfsetospeed(&newtio, B4800);
      		break;
    	case 9600:
    		cfsetispeed(&newtio, B9600);
	    	cfsetospeed(&newtio, B9600);
      		break;
    	case 115200:
    		cfsetispeed(&newtio, B115200);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美精品日韩一本| 91免费视频网| 欧美不卡视频一区| 寂寞少妇一区二区三区| 欧美精品一区二区三区高清aⅴ| 免费人成精品欧美精品| 日韩一级免费一区| 精品亚洲免费视频| 国产亲近乱来精品视频| 99视频热这里只有精品免费| 一区二区三区在线免费观看| 欧美视频一二三区| 久久精品免费观看| 国产精品三级久久久久三级| 91丨porny丨蝌蚪视频| 亚洲图片欧美一区| 日韩免费一区二区| 99在线热播精品免费| 亚洲成人中文在线| 久久―日本道色综合久久| 99久久精品国产毛片| 亚洲电影中文字幕在线观看| 日韩欧美国产小视频| 欧美一区二区三区免费| 国产麻豆午夜三级精品| 1024成人网色www| 欧美精品自拍偷拍| 国产很黄免费观看久久| 亚洲一二三区在线观看| 日韩欧美一区二区视频| 成人国产精品免费| 三级久久三级久久| 国产精品美日韩| 欧美日韩免费视频| 国产精品综合网| 亚洲精品菠萝久久久久久久| 欧美精品一区二区精品网| 色综合久久综合网97色综合| 五月激情六月综合| 中文字幕va一区二区三区| 91精品国产福利| 99re66热这里只有精品3直播 | 蜜臀av一区二区| 久久精品视频在线看| 欧美日韩不卡在线| av日韩在线网站| 麻豆传媒一区二区三区| 亚洲欧美激情视频在线观看一区二区三区 | 亚洲成人资源在线| 国产精品色在线| 精品少妇一区二区三区在线播放 | 91影院在线观看| 国内精品自线一区二区三区视频| 亚洲在线视频一区| 国产一区二区三区久久悠悠色av | 欧美午夜精品一区| 成人午夜伦理影院| 久久国产精品72免费观看| 夜夜爽夜夜爽精品视频| 国产精品女同一区二区三区| 精品国产第一区二区三区观看体验| 精品视频色一区| 色婷婷综合在线| 99热精品一区二区| 成人av在线一区二区| 国产成人精品免费网站| 奇米影视一区二区三区小说| 亚洲一区二区精品久久av| 亚洲欧洲av另类| 国产欧美日韩久久| 久久美女高清视频| 久久综合久色欧美综合狠狠| 日韩欧美在线综合网| 欧美日韩激情一区| 欧美日韩成人一区二区| 欧美日韩一区精品| 欧美撒尿777hd撒尿| 91黄色免费网站| 91国产精品成人| 欧美亚洲动漫制服丝袜| 欧美色爱综合网| 欧美日韩国产一区| 欧美精品vⅰdeose4hd| 欧美一区二区三区四区视频| 欧美精品少妇一区二区三区| 在线综合视频播放| 欧美tk—视频vk| 久久久久国产一区二区三区四区| 久久蜜臀中文字幕| 亚洲欧洲精品一区二区三区不卡| 国产精品乱码妇女bbbb| 国产精品视频你懂的| 中文字幕亚洲在| 亚洲一区视频在线观看视频| 香蕉影视欧美成人| 麻豆视频观看网址久久| 国产一区二区三区精品欧美日韩一区二区三区| 久久99精品一区二区三区三区| 精品亚洲国内自在自线福利| 懂色av一区二区三区蜜臀| www.日韩在线| 欧美日韩在线播放三区四区| 欧美电影免费观看高清完整版在线观看| 久久综合九色综合97婷婷| 国产精品久久国产精麻豆99网站| 亚洲人吸女人奶水| 免费人成在线不卡| 成人视屏免费看| 色就色 综合激情| 欧美一区二区播放| 国产欧美日韩在线视频| 又紧又大又爽精品一区二区| 免费av成人在线| 成人午夜激情片| 欧美日韩一区二区电影| 日韩欧美高清dvd碟片| 亚洲国产激情av| 亚洲午夜av在线| 国产精品一区2区| 欧美午夜宅男影院| 久久久久久一级片| 亚洲国产综合视频在线观看| 国产精品一区二区男女羞羞无遮挡| 99久久99久久久精品齐齐| 欧美一区二区三区在线看| 国产婷婷色一区二区三区在线| 亚洲国产中文字幕| 成人性视频免费网站| 91精品国产一区二区三区| 国产精品美女久久久久久| 日韩不卡一二三区| 色婷婷av一区二区三区大白胸| 久久色中文字幕| 亚洲成a人片在线不卡一二三区| 成人性生交大合| 日韩午夜av一区| 亚洲精品美腿丝袜| 国产高清一区日本| 欧美一级欧美一级在线播放| 亚洲人成网站在线| 国产精品88888| 日韩欧美成人午夜| 亚洲va欧美va人人爽午夜| 成年人午夜久久久| 久久综合九色欧美综合狠狠| 日韩电影在线免费观看| 色婷婷av一区| 亚洲欧美在线视频观看| 国产乱对白刺激视频不卡| 欧美一区二区不卡视频| 午夜国产精品一区| 欧美亚洲综合网| 亚洲欧美另类久久久精品| 高清视频一区二区| 久久精品亚洲精品国产欧美| 免费一级片91| 日韩小视频在线观看专区| 亚洲成av人片在www色猫咪| 日本精品一区二区三区高清| 亚洲人123区| eeuss鲁片一区二区三区在线观看| 久久久午夜精品| 国产一区二区三区久久悠悠色av| 欧美r级电影在线观看| 视频在线观看一区| 91麻豆精品国产自产在线观看一区 | 91视视频在线直接观看在线看网页在线看 | 久久婷婷色综合| 久久成人免费电影| 欧美一区二区视频在线观看2020| 亚洲午夜视频在线| 欧美三级日韩三级国产三级| 亚洲高清免费观看高清完整版在线观看 | 尤物在线观看一区| 成人av在线一区二区三区| 国产精品卡一卡二| 91在线小视频| 一区二区三区四区精品在线视频| 97精品国产97久久久久久久久久久久| 国产精品传媒视频| 91污片在线观看| 亚洲综合小说图片| 欧美一区二区三区在线电影| 秋霞国产午夜精品免费视频| 欧美成人aa大片| 国产乱码精品一品二品| 国产午夜亚洲精品不卡| eeuss鲁一区二区三区| 亚洲一区在线视频| 欧美一二三四区在线| 久久成人免费网| 中文字幕av资源一区| 99久久久久免费精品国产 | 高清日韩电视剧大全免费| 中文字幕亚洲欧美在线不卡| 色又黄又爽网站www久久| www.欧美.com| 亚洲成av人**亚洲成av**| 日韩欧美一级精品久久| 国产91丝袜在线播放九色|