Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

linuxÏ´®¿Ú±à³Ì

Linux ´®¿Ú±à³ÌµÄһЩÎÊÌâ½â¾ö
LinuxÏ´®¿Ú±à³ÌµÄÎÄÕÂÍøÉÏÊÇÂúÌì·É£¬µ«´ó¶¼Êdzö×ÔһƪÎÄÕ£¬¶øÇÒдµÄ¶¼ÊÇЩ»ù±¾µÄ²Ù×÷£¬Ïñ¿ØÖÆRTS/CTSµÈ´®¿ÚÒý½Å״̬£¬½ÓÊÕ·¢ËͶþ½øÖÆÊý¾ÝµÈ£¬¶¼Ã»ÓкܺõÄ˵Ã÷£¬ÎÒÔÚʹÓÃÖÐÓöµ½ÁËЩÎÊÌ⣬д³öÀ´£¬Ï£ÍûÄܶԴó¼ÒÓÐËù°ïÖú£¬ÉÙ×ßÍä·£¬ºÇºÇ£¡
ÎÒʹÓõIJÙ×÷ϵͳÊÇRedhat9£¬gcc°æ±¾ÊÇ3.2.2
ÆäʵÔÚlinux϶Դ®¿ÚµÄÉèÖÃÖ÷ÒªÊÇͨ¹ýtermiosÕâ¸ö½á¹¹ÌåʵÏֵ쬵«ÊÇÕâ¸ö½á¹¹ÌåȴûÓÐÌṩ¿ØÖÆRTS»ò»ñµÃCTSµÈ´®¿ÚÒý½Å״̬µÄ½Ó¿Ú£¬¿ÉÒÔͨ¹ýioctlϵͳµ÷ÓÃÀ´»ñµÃ/¿ØÖÆ¡£
»ñµÃ£º
ioctl(fd, TIOCMGET, &controlbits);
if (controlbits & TIOCM_CTS)
printf(“ÓÐÐźÅ\n”);
else
printf(“ÎÞÐźÅ\n”);
ÉèÖãº
ioctl(fd, TIOCMGET, &ctrlbits)£»
if (flag)
ctrlbits |= TIOCM_RTS;
else
ctrlbits &= ~TIOCM_RTS;
ioctl(fd, TIOCMSET, &ctrlbits);
ÆäʵTIOCM_RTSÓÐЧºóÊǰѴ®¿ÚµÄRTSÉèÖÃΪÓÐÐźţ¬µ«´®¿ÚµÄµçƽΪµÍʱÊÇÓÐÐźţ¬Îª¸ßʱΪÎÞÐźţ¬ºÍÓÃTIOCMGET»ñµÃµÄ״̬ÕýºÃÏà·´£¬Ò²¾ÍÊÇ˵TIOCMGET/TIOCMSETÖ»ÊÇ»ñµÃ/¿ØÖÆ´®¿ÚµÄÏàÓ¦Òý½ÅÊÇ·ñÓÐÐźţ¬²¢²»·´Ó¦µ±Ç°´®¿ÚµÄÕæÊµµçƽ¸ßµÍ¡£
ÍøÉÏÐí¶àÁ÷ÐеÄlinux´®¿Ú±à³ÌµÄ°æ±¾Öж¼Ã»¶Ôc_iflag£¨termios³ÉÔ±±äÁ¿£©Õâ¸ö±äÁ¿½øÐÐÓÐЧµÄÉèÖã¬ÕâÑù´«ËÍASCIIÂëʱûʲôÎÊÌ⣬µ«´«ËͶþ½øÖÆÊý¾ÝʱÓöµ½0x0d,0x11ºÍ0x13È´»á±»¶ªµô¡£²»ÓÃ˵Ҳ֪µÀ£¬Õ⼸¸ö¿Ï¶¨ÊÇÌØÊâ×Ö·û£¬±»ÓÃ×÷ÌØÊâ¿ØÖÆÁË¡£¹ØµôICRNLºÍIXONÑ¡Ïî¼´¿É½â¾ö¡£
       c_iflag &= ~(ICRNL | IXON);
0x0d »Ø³µ·ûCR
0x11 ^Q VSTART×Ö·û
0x13 ^S VSTOP×Ö·û
ICRNL ½«ÊäÈëµÄCRת»»ÎªNL  
IXON ʹÆð¶¯/Í£Ö¹Êä³ö¿ØÖÆÁ÷Æð×÷ÓÃ
ÔÚ¡¶UNIX»·¾³¸ß¼¶±à³Ì µÚ¶þ°æ¡·µÚ18ÕµÚ11С½Ú¿´µ½°ÑÖÕ¶ËI/OÉèÖÃΪԭʼģʽ£¨´®¿ÚͨѶ¾ÍÊÇÖÕ¶ËI/OµÄԭʼģʽ£©Ê±ÊäÈëÊôÐÔÉèÖÃΪ
term.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
ÆÁ±ÎÁËÐí¶àÊôÐÔ£¬¹Ö²»µÃÓÐÈË˵Èç¹ûÊÇʹÓô®¿ÚͨѶc_iflagºÍc_oflag¶¼ÉèÖÃΪ0¾ÍÐÐÁË£¡
ÒÔÏÂÊÇÎÒµÄÉèÖõÄÒ»Ð©ÖØÒªµÄ´®¿ÚÊôÐÔ
term.c_cflag |= CLOCAL | CREAD;
term.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);
term.c_oflag &= ~OPOST;
term.c_iflag &= ~(BRKINT | ICRNL | INPCK | ISTRIP | IXON);
static void request_send(void)
{
   


Ïà¹ØÎĵµ£º

linux sock_rawԭʼÌ×½Ó×Ö±à³Ì (ת£©


sock_rawԭʼÌ×½Ó×Ö±à³Ì¿ÉÒÔ½ÓÊÕµ½±¾»úÍø¿¨ÉϵÄÊý¾ÝÖ¡»òÕßÊý¾Ý°ü,¶ÔÓë¼àÌýÍøÂçµÄÁ÷Á¿ºÍ·ÖÎöÊǺÜÓÐ×÷ÓõÄ.Ò»¹²¿ÉÒÔÓÐ3ÖÖ·½Ê½´´½¨ÕâÖÖsocket
 
1.socket(AF_INET, SOCK_RAW, IPPROTO_TCP|IPPROTO_UDP|IPPROTO_ICMP)·¢ËͽÓÊÕipÊý¾Ý°ü
2.socket(PF_PACKET, SOCK_RAW, htons(ETH_P_IP|ETH_P_ARP|ETH_P_ALL))·¢ËͽÓÊÕÒÔ ......

ÎÒ²»Ï²»¶linuxµÄÒ»¸öÔ­Òò

ÎÒ²»Ì«Ï²»¶linuxÁË£¬ËäÈ»ÎÒÔÚËûÉÏÃæ¶Ï¶ÏÐøÐøµÄ»¨¹ýһЩʱ¼ä£¬ÏÖÔÚ»ØÍ·À´¿´£¬ËüÒ²ÈÃÎÒÀË·ÑÁ˺ܶàµÄʱ¼ä£¬linuxÂÒÆß°ËÔãµÄÅäÖã¬Èí¼þµÄȱ·¦ÁîÎҺܲ»ÊÊ´Ó£¬¶øÇÒËüÒ²²»ÄÜʹÎÒ°ÑÖ÷ÒªµÄ¾­Àú¼¯ÖÐÔÚÕæÕý¸ÐÐËȤµÄµØ·½£¬¶ø²»ÊÇΪÁË“Õ÷·þ”linuxÕ´Õ´×Ôϲ£¬ÎÒ²»Ï²»¶ÕâÑùµÄlinux£¬ÕâÑùµÄlinuxÌ«³ÌÐòÔ±»¯ÁË¡£ÎÒΪʲôҪ¶ÁÄÇЩ ......

Linux ϵĴíÎó error.h

  errno
ÊǸöint±äÁ¿£¬·µ»Ø´íÎó
ÓдíÎóʱʹÓ÷½·¨
fprintf(fp, "%s", strerror(errno))
perrorÓ÷¨
#include <stdio.h>
#include <stdlib.h>
#include<errno.h>
int main(void)
{
FILE *fp;
if((fp=fopen("aaa.txt","r+"))==NULL)
{
puts("²»ÄܽøÈ ......

½â¾ölinuxϲ»ÄÜɾ³ýÂÒÂëÎļþµÄ±¿·½·¨

 1.Ò»´Î¿ª»ú£¬ÓôÃÆ£¬·¢ÏÖ~Ŀ¼ÏÂÓÐÒ»¸ö³¤ÎļþÃûµÄÂÒÂëÎļþ£¬Ôõôɾ¶¼É¾²»µô£¬Ä¿Â¼Ò²²»ÄÜɾ¡£×îºóÏëÁËÒ»¸ö±¿·½·¨É¾µôÁË
ÏÈÔÚ¸ÃĿ¼ÏÂmkdir zz  È»ºó mv *.* zz    OK£¬È»ºórm -rf zzÎļþ¼Ð¾ÍÐÐÁË¡£ºÇºÇ ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ