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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? blib.c

?? vxworks的完整的源代碼
?? C
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/* bLib.c - buffer manipulation library *//* Copyright 1984-1998 Wind River Systems, Inc. */#include "copyright_wrs.h"/*modification history--------------------02z,11nov01,dee  Add CPU_FAMILY==COLDFIRE02y,01dec98,cdp  make ARM CPUs with ARM_THUMB==TRUE use portable routines;	    jpd  improve swab for ARM.02y,03mar00,zl   merged SH support from T102x,22apr97,jpd  added support for ARM optimised routines.02w,19mar95,dvs  removing tron references.02v,06mar95,jdi  doc addition to swab() and uswab().02u,11feb95,jdi  doc tweak.02u,21mar95,caf  added PPC support.02t,20jul94,dvs  fixed documentation for return values of bcmp (SPR #2493).02s,09jun93,hdn  added a support for I80X8602r,17oct94,rhp  delete obsolete doc references to strLib, spr#3712	02q,20jan93,jdi  documentation cleanup for 5.1.02p,14sep92,smb  changed prototype of bcopy to include const.02o,23aug92,jcf  fixed uswab to swap all of buffer.  removed memcmp call.02n,30jul92,jwt  fixed error in bcopy() backwards overrunning dest address.02m,08jul92,smb  removed string library ANSI routines.  added index and rindex.02l,08jun92,ajm  added mips to list of optimized cpu's02k,26may92,rrr  the tree shuffle02j,09dec91,rrr  removed memcpy for 960, already in i960/bALib.s02i,26nov91,llk  fixed error with placement of bLib_PORTABLE.02h,25nov91,llk  changed bfillBytes() parameter from unsigned char to int.		 added ansi routines:  memcpy(), memmove(), memcmp(),		   strcoll(), strxfrm(), strchr(), strcspn(), strpbrk(),		   strrchr(), strspn(), strstr(), strtok(), memset()02g,04oct91,rrr  passed through the ansification filter                  -changed functions to ansi style		  -fixed #else and #endif		  -changed VOID to void		  -changed copyright notice02f,30jul91,hdn  added conditional macro for optimized TRON codes.02e,29jul91,del  fixed comment.02d,16jul91,ajm/del  added uswab for unaligned byte swaps (see dosFsLib.c)02c,09jun91,del  mods to allow using gnu960 library functions.02b,26apr91,hdn  added defines and macros for TRON architecture,		 modified bcopy(), bcopyBytes(), bfill().02a,05apr91,jdi	 documentation -- removed header parens and x-ref numbers;		 doc review by dnw.01z,24mar91,del  added I960 to check for portable version.01y,24jan91,jaa	 documentation.01x,20dec90,gae  added forward declaration of bfill, ALIGNMENT set to 1 for 020.           +shl  fixed bug in bfill of (occasionally) filling too far.01w,20sep90,dab  changed ALIGNMENT value to be 3 across architectures.01v,19jul90,dnw  fixed mangen problem01u,10may90,jcf  fixed PORTABLE definition.01t,14mar90,jdi  documentation cleanup.01s,07aug89,gae  added C versions of bcopy,bfill,etc.01r,30aug88,gae  more documentation tweaks.01q,20aug88,gae  documentation.01p,05jun88,dnw  changed from bufLib to bLib.01o,30may88,dnw  changed to v4 names.01n,19mar87,gae  oops in 01m!01m,19mar87,gae  fixed swab to work right when from/to are the same.		 made swab type void.01l,16feb87,llk  added swab().01k,21dec86,dnw  changed to not get include files from default directories.01j,01jul86,jlf  minor documentation cleanup.01i,06aug85,jlf  removed cpybuf,movbuf, and filbuf, which are now in		 asm language.  Made the remaining routines accept ints instead		 of shorts, and removed the screwy loop constructs.01h,06sep84,jlf  Added copyright notice.01g,29jun84,ecs  changed cmpbuf to return -1, 0, 1.01f,18jun84,dnw  Added LINTLIBRARY for lint.01e,17nov83,jlf  Added movbuf01d,09jun83,ecs  added some commentary01c,07may83,dnw  enabled filbuf to fill more than 64K bytes01b,04apr83,dnw  added invbuf.01a,15mar83,dnw  created from old utillb.c*//*DESCRIPTIONThis library contains routines to manipulate buffers of variable-lengthbyte arrays.  Operations are performed on long words when possible, eventhough the buffer lengths are specified in bytes.  This occurs only whensource and destination buffers start on addresses that are both odd or botheven.  If one buffer is even and the other is odd, operations must be doneone byte at a time (because of alignment problems inherent in the MC68000),thereby slowing down the process.Certain applications, such as byte-wide memory-mapped peripherals, mayrequire that only byte operations be performed.  For this purpose, theroutines bcopyBytes() and bfillBytes() provide the same functions as bcopy()and bfill(), but use only byte-at-a-time operations.  These routines donot check for null termination.INCLUDE FILES: string.hSEE ALSO: ansiString*//* LINTLIBRARY */#include "vxWorks.h"#include "string.h"/* * optimized version available for 680X0, I960, MIPS, I80X86, PPC, SH and ARM, * but not yet Thumb. */#if (defined(PORTABLE) || \     ((CPU_FAMILY != MC680X0) && \      (CPU_FAMILY!=I960) && \      (CPU_FAMILY != MIPS) && \      (CPU_FAMILY != I80X86) && \      (CPU_FAMILY != PPC) && \      (CPU_FAMILY != SH) && \      (CPU_FAMILY != COLDFIRE) && \      (CPU_FAMILY != ARM)) || \     ((CPU_FAMILY == ARM) && ARM_THUMB))#define bLib_PORTABLE#endif	/* defined(PORTABLE) *//* optimized swab() available for PPC */#if (defined(PORTABLE) || (CPU_FAMILY != PPC))#define swab_PORTABLE#endif	/* defined(PORTABLE) */#if	(CPU==MC68020) || (CPU_FAMILY==I80X86) || (CPU_FAMILY == COLDFIRE)#define	ALIGNMENT	1	/* 2-byte */#else#define	ALIGNMENT	3	/* quad */#endif	/* (CPU==MC68020) || (CPU_FAMILY==I80X86) */#undef bcmp /* so routine gets built for those who don't include header files *//********************************************************************************* bcmp - compare one buffer to another** This routine compares the first <nbytes> characters of <buf1> to <buf2>.** RETURNS:*   0 if the first <nbytes> of <buf1> and <buf2> are identical,*   less than 0 if <buf1> is less than <buf2>, or*   greater than 0 if <buf1> is greater than <buf2>.*/int bcmp    (    FAST char *buf1,            /* pointer to first buffer    */    FAST char *buf2,            /* pointer to second buffer   */    FAST int nbytes             /* number of bytes to compare */    )    {    const unsigned char *p1;    const unsigned char *p2;    /* size of memory is zero */    if (nbytes == 0)	return (0);    /* compare array 2 into array 1 */    p1 = (const unsigned char *)buf1;    p2 = (const unsigned char *)buf2;    while (*p1++ == *p2++)	{	if (--nbytes == 0)	    return (0);        }    return ((*--p1) - (*--p2));    }/********************************************************************************* binvert - invert the order of bytes in a buffer** This routine inverts an entire buffer, byte by byte.  For example,* the buffer {1, 2, 3, 4, 5} would become {5, 4, 3, 2, 1}.** RETURNS: N/A*/void binvert    (    FAST char *buf,             /* pointer to buffer to invert  */    int nbytes                  /* number of bytes in buffer    */    )    {    FAST char *buf_end = buf + nbytes - 1;    FAST char temp;    while (buf < buf_end)	{	temp       = *buf;	*buf       = *buf_end;	*buf_end   = temp;	buf_end--;	buf++;	}    }/********************************************************************************* bswap - swap buffers** This routine exchanges the first <nbytes> of the two specified buffers.** RETURNS: N/A*/void bswap    (    FAST char *buf1,            /* pointer to first buffer  */    FAST char *buf2,            /* pointer to second buffer */    FAST int nbytes             /* number of bytes to swap  */    )    {    FAST char temp;    while (--nbytes >= 0)	{	temp = *buf1;	*buf1++ = *buf2;	*buf2++ = temp;	}    }#ifdef	swab_PORTABLE/********************************************************************************* swab - swap bytes** This routine gets the specified number of bytes from <source>,* exchanges the adjacent even and odd bytes, and puts them in <destination>.* The buffers <source> and <destination> should not overlap.** \&NOTE:  On some CPUs, swab() will cause an exception if the buffers are* unaligned.  In such cases, use uswab() for unaligned swaps.  On ARM* family CPUs, swab() may reorder the bytes incorrectly without causing* an exception if the buffers are unaligned.  Again, use uswab() for* unaligned swaps.** It is an error for <nbytes> to be odd.** RETURNS: N/A** SEE ALSO: uswab()*/void swab    (    char *source,               /* pointer to source buffer      */    char *destination,          /* pointer to destination buffer */    int nbytes                  /* number of bytes to exchange   */    )#if (CPU_FAMILY == ARM)    {    /*     * This generates much better code for the ARM, and might well be     * faster on gcc-based compilers for other architectures.     */    FAST unsigned short *src = (unsigned short *) source;    FAST unsigned short *dst = (unsigned short *) destination;    FAST unsigned short *dst_end = (unsigned short *) (destination + nbytes);    for (; dst < dst_end; dst++, src++)	{	*dst = ((*src & 0x00ff) << 8) | ((*src & 0xff00) >> 8);	}    }#else /* (CPU_FAMILY == ARM) */    {    FAST short *src = (short *) source;    FAST short *dst = (short *) destination;    FAST short *dst_end = dst + (nbytes / 2);    for (; dst < dst_end; dst++, src++)	{	*dst = ((*src & 0x00ff) << 8) | ((*src & 0xff00) >> 8);	}    }#endif /* (CPU_FAMILY == ARM) */#endif	/* swab_PORTABLE */#if (CPU_FAMILY != I960) || !defined(__GNUC__) || defined(VX_IGNORE_GNU_LIBS)/********************************************************************************* uswab - swap bytes with buffers that are not necessarily aligned** This routine gets the specified number of bytes from <source>,* exchanges the adjacent even and odd bytes, and puts them in <destination>.** \&NOTE:  Due to speed considerations, this routine should only be used when* absolutely necessary.  Use swab() for aligned swaps.** It is an error for <nbytes> to be odd.** RETURNS: N/A** SEE ALSO: swab()*/void uswab    (    char *source,               /* pointer to source buffer      */    char *destination,          /* pointer to destination buffer */    int nbytes                  /* number of bytes to exchange   */    )    {    FAST char *dst = (char *) destination;    FAST char *dst_end = dst + nbytes;    FAST char byte1;    FAST char byte2;    while (dst < dst_end)	{	byte1 = *source++;	byte2 = *source++;	*dst++ = byte2;	*dst++ = byte1;	}    }/********************************************************************************* bzero - zero out a buffer** This routine fills the first <nbytes> characters of the* specified buffer with 0.** RETURNS: N/A*/void bzero    (    char *buffer,               /* buffer to be zeroed       */    int nbytes                  /* number of bytes in buffer */    )    {    bfill (buffer, nbytes, 0);    }#endif	/* IGNORE GNU LIBS */#ifdef bLib_PORTABLE#if (CPU_FAMILY != I960) || !defined(__GNUC__) || defined(VX_IGNORE_GNU_LIBS)/********************************************************************************* bcopy - copy one buffer to another** This routine copies the first <nbytes> characters from <source> to* <destination>.  Overlapping buffers are handled correctly.  Copying is done* in the most efficient way possible, which may include long-word, or even* multiple-long-word moves on some architectures.  In general, the copy* will be significantly faster if both buffers are long-word aligned.* (For copying that is restricted to byte, word, or long-word moves, see* the manual entries for bcopyBytes(), bcopyWords(), and bcopyLongs().)** RETURNS: N/A** SEE ALSO: bcopyBytes(), bcopyWords(), bcopyLongs()*/void bcopy

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本女人一区二区三区| 成人av电影在线| 亚欧色一区w666天堂| 亚洲免费观看高清完整版在线观看 | 欧美国产精品一区二区| 久久综合久久鬼色中文字| 日韩一区二区三区视频在线观看| 欧美日韩三级一区| 欧美喷水一区二区| 在线播放/欧美激情| 欧美一区二区视频在线观看| 日韩一区二区三免费高清| 日韩一级精品视频在线观看| 26uuu亚洲| 国产亚洲欧美在线| 国产精品久久久久aaaa樱花 | 亚洲一区二区在线免费观看视频| 亚洲一区二区欧美| 人禽交欧美网站| 久久精品国产一区二区| 国产老肥熟一区二区三区| 丰满白嫩尤物一区二区| 91丨porny丨首页| 精品婷婷伊人一区三区三| 欧美美女喷水视频| 久久免费视频色| 中文字幕在线观看不卡视频| 樱桃视频在线观看一区| 天天综合日日夜夜精品| 极品少妇一区二区| av影院午夜一区| 欧美日韩国产另类一区| 日韩欧美综合在线| 国产精品视频看| 亚洲国产日韩综合久久精品| 九色综合国产一区二区三区| 99在线精品一区二区三区| 欧美日韩激情一区| 久久久久99精品国产片| 亚洲最大成人网4388xx| 久久er99热精品一区二区| 不卡的av电影| 欧美精品一二三四| 中文成人av在线| 五月婷婷欧美视频| 成人免费毛片嘿嘿连载视频| 欧美精品在线观看播放| 中文字幕精品一区二区精品绿巨人 | 成人一级片网址| 欧美精品色综合| 国产精品久久久久久久裸模| 日韩精品亚洲一区二区三区免费| 成人免费视频视频| 91精品国产一区二区人妖| 国产精品欧美一区二区三区| 天天色图综合网| fc2成人免费人成在线观看播放| 欧美丰满美乳xxx高潮www| 国产精品久久午夜夜伦鲁鲁| 青娱乐精品视频| 91福利资源站| 国产亚洲一二三区| 日韩1区2区日韩1区2区| 91亚洲国产成人精品一区二三| 欧美精品一区二区不卡| 亚洲国产精品久久久久秋霞影院| 成人丝袜高跟foot| 精品国产乱子伦一区| 亚洲不卡av一区二区三区| 91在线观看下载| xnxx国产精品| 男女男精品视频| 欧美日韩精品二区第二页| 亚洲色图制服诱惑| 高清不卡一区二区| 精品少妇一区二区三区在线播放 | 午夜精品福利一区二区三区av| 岛国一区二区三区| 欧美精品一区二区三区一线天视频| 一区二区三区色| 99视频有精品| 中文天堂在线一区| 国产黄色成人av| 精品国产一二三区| 美女爽到高潮91| 日韩一区二区三区视频| 亚洲成a天堂v人片| 欧美在线啊v一区| 亚洲蜜臀av乱码久久精品| 成人精品鲁一区一区二区| 久久无码av三级| 激情欧美日韩一区二区| 欧美成人video| 免费观看一级特黄欧美大片| 91精品国产综合久久婷婷香蕉| 亚洲国产精品综合小说图片区| 欧美在线看片a免费观看| 亚洲免费av观看| 在线观看成人小视频| 亚洲午夜私人影院| 欧美日韩卡一卡二| 亚洲成av人**亚洲成av**| 欧美精选在线播放| 日本免费在线视频不卡一不卡二| 555www色欧美视频| 美国三级日本三级久久99| 精品日韩av一区二区| 久久超级碰视频| 久久久.com| av成人免费在线| 亚洲综合一区二区| 在线成人免费观看| 麻豆传媒一区二区三区| 久久人人爽人人爽| 成人精品视频网站| 一区二区在线观看免费| 欧美日韩亚洲国产综合| 秋霞国产午夜精品免费视频| 精品免费视频.| 成人动漫av在线| 亚洲黄一区二区三区| 欧美日韩国产影片| 美女在线一区二区| 日本一区二区成人在线| 91久久一区二区| 蜜桃久久久久久| 欧美激情一区二区| 色噜噜狠狠一区二区三区果冻| 天天色图综合网| 国产日韩精品一区二区浪潮av| 99综合影院在线| 五月激情综合网| 国产三级三级三级精品8ⅰ区| 91丨porny丨蝌蚪视频| 日本中文在线一区| 久久久91精品国产一区二区精品| 92国产精品观看| 日本不卡一区二区三区| 国产人伦精品一区二区| 欧美午夜精品一区二区三区| 久久av资源网| 亚洲精品久久久久久国产精华液| 日韩一区二区高清| 国产.精品.日韩.另类.中文.在线.播放| 亚洲欧美偷拍三级| 日韩欧美不卡在线观看视频| 99精品视频一区| 日韩av一区二区三区| 国产福利一区二区三区| 亚洲夂夂婷婷色拍ww47| 久久久午夜精品理论片中文字幕| 色婷婷综合激情| 狠狠色丁香久久婷婷综合_中 | 大美女一区二区三区| 天天综合天天综合色| 国产精品美女www爽爽爽| 欧美日韩一级黄| 国产69精品久久久久777| 天天影视色香欲综合网老头| 国产精品无码永久免费888| 7878成人国产在线观看| 高潮精品一区videoshd| 丝袜美腿一区二区三区| 一区二区中文字幕在线| 日韩精品一区在线观看| 在线精品视频一区二区三四| 高清av一区二区| 久久国产精品无码网站| 亚洲一区电影777| 亚洲欧洲另类国产综合| 精品久久久久久无| 欧美日韩免费高清一区色橹橹| 成人午夜视频免费看| 久久成人精品无人区| 首页欧美精品中文字幕| 亚洲日本在线a| 国产午夜亚洲精品午夜鲁丝片 | 国产精品视频一二| 欧美一区二区三级| 欧美日韩精品电影| 91免费看`日韩一区二区| 国产精品亚洲一区二区三区妖精| 日本aⅴ免费视频一区二区三区| 伊人夜夜躁av伊人久久| 中文字幕中文字幕中文字幕亚洲无线| 91精品中文字幕一区二区三区| 欧美色老头old∨ideo| 91在线观看下载| av中文字幕亚洲| 国产91富婆露脸刺激对白| 激情文学综合网| 久久草av在线| 激情亚洲综合在线| 美腿丝袜一区二区三区| 免费人成在线不卡| 日韩精品乱码av一区二区| 天堂久久久久va久久久久| 亚洲一区二区三区自拍| 亚洲欧洲中文日韩久久av乱码| 中文字幕综合网|