锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美在线视频一区二区三区,久久久精品免费视频,韩国欧美一区 http://www.shnenglu.com/sscchh-2000/category/1673.html涓庡ぇ瀹朵竴璧峰垎浜煡璇?/description>zh-cn Mon, 19 May 2008 21:15:11 GMT Mon, 19 May 2008 21:15:11 GMT 60 姣嶄翰鑺傚揩鍒頒簡錛屽啓鐐逛笢瑗塊佺粰姣嶄翰 http://www.shnenglu.com/sscchh-2000/archive/2006/05/12/7011.html鍙蹭紶綰?/dc:creator>鍙蹭紶綰?/author>Fri, 12 May 2006 06:10:00 GMT http://www.shnenglu.com/sscchh-2000/archive/2006/05/12/7011.html http://www.shnenglu.com/sscchh-2000/comments/7011.html http://www.shnenglu.com/sscchh-2000/archive/2006/05/12/7011.html#Feedback 18 http://www.shnenglu.com/sscchh-2000/comments/commentRss/7011.html http://www.shnenglu.com/sscchh-2000/services/trackbacks/7011.html 聽聽聽聽聽聽2000騫撮偅騫達紝鎴戣冧笂浜嗗悏鏋楀ぇ瀛︼紝姣嶄翰鍝簡銆傛垜鎯蟲瘝浜蹭篃鏄拰鎴戜竴鏍鳳紝鏈熷緟鐫榪欎釜姊︽兂錛岃岀湡姝e疄鐜頒簡鐨勬椂鍊欙紝鎴戜滑閮芥姂鍒朵笉浜嗛偅涓枩鎮︾殑蹇冩儏銆傛垜鎯蟲瘝浜蹭竴瀹氭劅鍒板緢騫哥錛屽ス浼氭劅鍒板緢楠勫偛鐨勩傚彲鑳芥湁浜涗漢浼氭兂錛岃冧簡澶у鏈変粈涔堜簡涓嶈搗鐨勶紝鐜板湪鐨勫ぇ瀛︾敓璺熸皯宸ヤ竴鏍鳳紝鍒板閮芥槸銆備篃娌℃湁浠涔堝ソ楠勫偛鐨勫惂銆傚彲鏄紝鍦ㄨ繖閲屾垜瑕佸憡璇変綘錛屾垜浠偅涓潙錛岀敋鑷抽偅涓埂錛屽湪鎴戠殑璁板繂涓紝灝卞嚭鏉ヨ繖鏍蜂竴涓ぇ瀛︾敓錛岄偅宸茬粡鏄笂涓笘綰叚涓冨崄騫翠唬鐨勪簨鎯呬簡錛屼篃灝辨槸鍦ㄤ腑闂撮殧浜嗚繎30騫翠簡銆備綘鍙互鎯寵薄閭f牱鐨勫満鏅傛瘝浜茶兘涓嶉獎鍌插槢錛熷叾瀹炴瘝浜茬殑綆℃暀鐜板湪鎯蟲潵錛屼笉鏄肩潃璁╂垜瀛︿範錛岃屾槸璁╂垜鑷敱鐨勫彂灞曪紝璇磋搗鏉ヤ篃鎬紝灝忔椂鍊欐垜鍙槸涓涓潪甯歌皟鐨殑瀛╁瓙錛屾暣澶╁拰浼欎即浠帺鐨勫緢鐤傚埌澶勪笅娌蟲崏楸鹼紝涓婃爲鎺忛笩紿濄傚嚒鏄兘鐜╃殑閮界帺浜嗐傝繖鍙兘璺熸瘝浜茬殑璦浼犺韓鏁欐湁鍏崇郴鐨勩傝〃濮愪篃鏇鵑棶榪囨垜錛氣滃皬鏃跺欏ぇ瀹墮兘鏄竴璧風帺鐨勶紝鐢氳嚦姣旀垜榪樼敤鍔燂紝鎬庝箞鎴戞病鏈夎冧笂澶у浣犲幓鑰冧笂浜嗗憿錛熲濇垜涔熷紑鐜╃瑧鐨勫洖絳旓細鍏跺疄鎴戠帺鐨勬椂鍊欙紝澶磋剳榪樻槸鍦ㄦ濊冧笢瑗垮憿銆傚叾瀹炶〃濮愪篃鏄竴涓緢浼樼鐨勶紝鍙槸鐢變簬瀹跺涵鐨勫師鍥狅紝瀹炲湪澶┓浜嗭紝涓婂畬浜嗗垵涓氨娌℃湁涓婂浜嗐傝鍒拌繖閲岋紝鍏跺疄鍦ㄦ垜浠潙閲岋紝鎴栬呬換浣曚竴涓傳絀風殑鍐滄潙錛屾垜浠繖浜涘瀛愪笉鏄錛岃屾槸鐪熸鐢變簬瀹墮噷瀛╁瓙澶氾紝鍙堥潪甯歌傳絀鳳紝鍙堣璁╂瘡涓瀛愰兘鑳借鐐逛功錛岃涓婂嚑涓瓧銆傛墍浠ュぇ閮ㄥ垎鐨勪漢閮藉彧鑳借鍒板垵涓敋鑷沖皬瀛︽病鏈夋瘯涓氬氨杈嶅浜嗐傛墍浠ユ垜瑙夊緱姣嶄翰闅捐兘鍙吹鐨勶紝灝辨槸濂圭殑鍧氭寔錛屽洜涓哄湪鎴戝垵涓夐偅騫存瘯涓氱殑鏃跺欙紝鐢變簬鑰冭瘯鎴愮嘩涓嶇悊鎯籌紝瑕佽楂樹腑榪橀渶瑕佷氦浜斿崈鍧楅挶鐨勬墿鎷涜垂銆傞偅涓椂鍊欑湡鏄潪甯歌壈闅劇殑涓姝ャ傜湡鍙互鐢ㄦ憯閿呭崠閾佹潵褰㈠銆傛墍浠ユ垜寰堟劅璋㈡瘝浜插湪閭d箞鍥伴毦鐨勬椂鍊欒兘澶熷挰鐗欐拺榪囨潵浜嗐傚綋鐒跺湪榪欓噷榪樿鎰熻阿鎴戠殑騫茬埜騫插銆傛病鏈変粬浠殑澶у姏鏀寔鎴戜篃寰堥毦璧板埌榪欎竴姝ャ?br />聽聽聽聽聽聽9鏈堜喚錛屾垜紱誨紑浜嗙敓鎴戝吇鎴戠殑閭d釜璐槧鐨勫啘鏉戯紝涓磋蛋鐨勬椂鍊欙紝鎴戞鎻g潃鍏崈鍧楅挶韙忓線闀挎槬鐨勫垪杞︿笂銆傚叓鍗冨潡閽遍噷闈㈢幇鍦ㄨ繕娓呮鐨勮寰楋細鍙斿彅鍊熺殑涓ゅ崈錛岃垍鑸呭熺殑涓鍗冿紝琛ㄥ摜鍊熺殑涓鍗冧簲錛岃繕鏈夊Ж鍝ュ熺殑涓鍧楀拰濮ㄥ鍊熺殑浜旂櫨銆傚墿涓嬬殑涓ゅ崈鏄翰鏈嬪ソ鍙嬫潵鍜屽枩閰掔粰鐨勩備粠姝ゅ紑濮嬩簡鎴戝湪闀挎槬鐨勬眰瀛︿箣璺備篃灝辨槸鎴戞潵鍒伴暱鏄ヤ箣鍚庣殑涓や釜鏈堝乏鍙籌紝鐖朵翰鍜屾瘝浜蹭篃鍘諱簡涓婃搗銆傜洰鐨勫氨鏄墦宸ョ粰鎴戞專鏉ュ勾鐨勫璐廣傝鐭ラ亾浜叉垰瀹墮噷鐨勭敓媧諱篃騫朵笉濂斤紝鑳芥敮鍔╂垜榪欎箞澶氶挶璇諱功瀹炲湪涓嶆槗浜嗐備笅涓騫寸殑瀛﹁垂褰撶劧涓嶅彲鑳斤紝涔熶笉濂芥剰鎬濆紶鍙d簡銆傚厛寮濮嬭璇存垜鐨勭埗姣嶅惂錛屾潵鍒頒簡涓婃搗錛屼粬浠湡鐨勪笉瀹規槗銆傚湪鑰佷埂鐨勫府鍔╀笅錛屽緢蹇埗姣嶄究寮濮嬩簡絎竴浠藉伐浣溿傛瘝浜插湪涓涓彍甯傚満閲岄潰甯埆浜哄崠楦¢腑錛屽紱界瓑錛屼竴涓湀500鍧楅挶銆傝璧鋒潵榪欎釜鍙兘鐪嬩笂鍘誨茍涓嶆庝箞澶緵鑻︺備絾鏄垜瑕佽榪欎釜宸ヤ綔鎴戞瘝浜插挰鐗欏潥鎸佷簡涓や釜鏈堟渶緇堣緸鍘諱簡銆備負浠涔堝憿錛熸瘝浜叉瘡澶╂棭涓?鐐瑰氨璧峰簥錛岀劧鍚庡埌鑿滃競鍦哄幓錛岃繖涓椂鍊欐湁涓杞﹁揣錛岀敱浜庤彍甯傚満鏄湪浜屾ゼ錛屾瘝浜詫紙榪樻湁鍙﹀涓涓樋濮紝鐢熸椿涔熶竴瀹氫笉鏄擄紝鍚﹀垯鏍規湰涓嶅彲鑳芥潵榪欎釜鍦版柟錛変粬浠咯灝變竴涓張涓涓弧杞藉紱界殑綃瓙寰浜屾ゼ涓婇潰鐖傝繖鏍蜂竴涓灝忔椂鍊欎箣鍚庡氨寮濮嬬粰搴椾富鍗栵紝鐒跺悗鎶婁竴鍙張涓鍙殑瀹剁瀹版潃錛岀劧鍚庡幓鐨紝媧楀共鍑銆傚氨榪欐牱涓孌墊椂闂達紝姣嶄翰鏁翠釜浜鴻偪鐨勪笉鎴愭牱瀛愪簡錛屾墜鐨浜嗕竴灞傚張涓灞傘傚洜涓哄疄鍦ㄦ尯涓嶄綇浜嗭紝鍘誨尰闄㈡不鐤椼傜粨鏋滆緵鑻︽專浜嗕竴鐐歸挶鍑犱箮閮界敤鍦ㄤ簡鍖葷枟璐逛笂闈簡銆傚啀鏉ヨ璇寸埗浜插惂錛岀埗浜茬殑絎竴浠藉伐浣滄槸閫佽揣錛屽氨鏄偅涓剼韞笁杞濺錛屾瘡澶╅佸ソ鍑犳錛屾瘡嬈℃湁濂藉嚑鐧炬枻錛屾湁鏃跺欒兘杈懼埌涓婂崈鏂ゃ備竴涓湀涔熷氨鍏竷鐧懼潡閽便傚氨榪欐牱涔熸尯浜嗗嚑涓湀渚胯緸浜嗐傛垜榪樻湁涓涓濡癸紝鐖舵瘝榪欐澶栧嚭鎵撳伐錛屼笉浠呬粎鏄負浜嗘垜涓涓漢鐨勬眰瀛︺傚洜涓烘垜濡瑰涔熼珮涓浜嗭紝鐖舵瘝涓嶄粎浠呰渚涙垜涓涓漢銆?br />聽聽聽聽聽聽鏉ュ埌浜嗛暱鏄ワ紝涓鍒囬兘鏄偅涔堟柊濂囷紝鐪嬪埌浜嗗ぇ瀛︾敓媧葷湡鐨勬槸澶嚜鐢變簡銆傛病鏈夎佸笀鐨勭鏉熴備篃璁告槸鎴戠殑鐞嗘兂錛屼篃璁告槸榪欐潵涔嬫槗鐨勬眰瀛︽満浼氾紝鎴戜粛鐒舵兂鍦ㄩ珮涓偅鏍鳳紝鍔姏瀛︿範錛屽洜涓烘垜鐨勭悊鎯蟲槸瑕佽鐖舵瘝榪囦笂騫哥鐨勭敓媧伙紝涓嶅啀閭d箞鎿嶅姵銆傝涔℃潙浠兘鑳藉榪囦笂騫哥鐨勭敓媧匯傛墍浠ユ垜蹇呴』鍔姏瀛︿範錛屾潵瀛︿範鍒扮湡姝g殑鏈錛岃繖鏍鋒墠鏈夊笇鏈涖傝鎴戞剰澶栫殑鏄紝絎竴騫寸粨鏉熶箣鍚庯紝鎴戠珶鐒惰幏寰椾簡濂栧姪瀛﹂噾鍏?700鍧楅挶銆傝繕璁板緱褰撴椂鎴戠畝鐩翠笉鏁㈢浉淇¤繖鏄湡鐨勩傝繖鍙槸闇瑕佹瘝浜叉棩鏃ュ澶滄嫾鍛芥專涓婁竴騫村晩錛佹垜涓嶇煡閬撹璇翠粈涔堝ソ錛屽彧鑳芥劅璋㈠鏍″鎴戠殑鍏蟲銆傚氨榪欐牱錛屾垨璁告槸鍙楀埌浜嗘縺鍔憋紝鎴栬鎴戠湡鐨勫緢浼樼銆傛暣涓ぇ瀛﹀洓騫存垜涓鍏辮幏寰椾簡濂栧姪瀛﹂噾鍏?6錛?00鍧楅挶錛堝叾涓瀛﹂噾12錛?00錛夈傚啀鍔犱笂涓浗宸ュ晢閾惰璐鋒14錛?00銆備嬌鎴戦『鍒╃殑瀹屾垚浜嗗ぇ瀛﹀洓騫寸殑瀛︿笟銆傞櫎浜嗗涓氫箣澶栥傛垜榪樼敤涓閮ㄥ垎閽辨敮鍔╂垜濡瑰璇諱功銆傚彟澶栫敱浜庣埛鐖峰ザ濂跺勾綰ぇ浜嗭紝鐖稿浠栦滑鍙堜笉鍦ㄨ韓杈廣傛垜涔熺粰浠栦滑瀵勮繃鍑犳鐢熸椿璐廣傝繕璁扮潃鏈澶氫竴嬈℃槸500錛岄偅鏃跺欑埛鐖風敓鐥呬簡錛岄渶瑕佷綇闄€傛澶栫敱浜庣埜濡堝湪澶栨墦宸ワ紝澶у浠栦滑緇欐垜瀹剁鍦般傛垜涔熷瘎榪囧嚑鐧懼潡閽便傚悓鏃朵篃綆楁槸鍑忚交浜嗙埜濡堜粬浠殑涓鐐硅礋鎷呭惂銆傛暣涓ぇ瀛︾敓媧昏繃寰楀緢鍏呭疄錛屾洿璁╂垜騫歌繍鐨勬槸錛岄亣鍒頒簡涓涓鎴戞湁鐭ラ亣涔嬫仼鐨勮佸笀錛屼篃灝辨槸鎴戠幇鍦ㄧ殑瀵煎笀闄堣佸笀錛屼粬瀵規垜鐢熸椿鍜屽涔犱笂鐨勫府鍔╄鎴戞劅嬋涓嶅敖錛涜屼笖鎴戣繕閬囧埌浜嗕竴涓氭儏杈劇悊錛岃壈鑻︽湸绱犺屽張鍗佸垎婕備寒鐨勫コ瀛╋紝涔熷氨鏄垜鐨勫コ鏈嬪弸闇栭湒錛岃繖鍑犲勾鏉ョ湡鐨勫緢鎰熻阿濂圭殑鐞嗚В鍜屾敮鎸併?br />聽聽聽聽聽聽涓嶄絾鎴戣幏寰椾簡榪欎箞澶氱殑騫歌繍銆傛垜鐨勫濡逛篃鏄垢榪愮殑銆傜敱浜庢垜鍦ㄥ鏍″拰鍥藉鐨勬敮鍔╀笅瀹屾垚浜嗗涓氾紝鎴戠埜濡堣緵鑻︽專鐨勯挶灝辮兘澶熶緵鎴戝濡硅涔︿簡銆傜幇鍦ㄦ垜濡瑰宸茬粡蹇瘯涓氫簡錛岀洰鍓嶅湪瀹炰範涓紝铏界劧姣忔湀900鍧楅挶錛屼絾涔熸槸鐩稿綋涓嶉敊浜嗐傝屾槸鐜板湪榪樻湁涓騫村氨姣曚笟浜嗭紝鐢變簬姣旇緝騫歌繍錛岃鐨勬槸鍏垂銆傛瘡涓湀榪樿兘鏈夊叓涔濈櫨鍧楅挶鐨勭敓媧昏ˉ鍔┿備粠鑰岃兘璁╃埗姣嶄粬浠笉瑕侀偅涔堟搷鍔充簡銆?br />聽聽聽聽聽聽鍙槸錛屽氨鍦ㄥ墠涓ゅぉ錛屾垜鐖哥埜璺熸垜璇存垜姣嶄翰鍙堝幓浠嬬粛鎵鑺變簡100鍧楅挶鎵句簡涓浠藉伐浣溿傛瘝浜茬殑宸ヤ綔鏄粰涓瀹跺尰闄㈡礂鑿滐紝鍒風錛屾墦鏉備粈涔堢殑銆備竴涓湀700鍧楅挶錛屾瘡澶╂棭涓婂叚鐐瑰埌鏅氫笂涔濈偣銆傛垜鏄ㄥぉ鏅氫笂緇欐瘝浜叉墦浜嗕竴涓數璇濓紝絳夊埌蹇節鐐瑰崐鎵嶆壘鍒版瘝浜茬殑銆傛垜鍧氬喅瑕佹眰姣嶄翰杈炴帀宸ヤ綔錛屽彲鏄瘝浜插氨璇撮棽鐫嫻戣韓涔熸槸鐤鹼紝榪樹笉濡傚繖鐐瑰憿銆備竴涓皬鏃惰繕涓嶅埌2鍧楅挶錛屾瘝浜茶繕鏄偅鏍風殑涔愯銆傛垜鐪熺殑涓嶇煡閬撴庝箞鏍峰姖鎵嶈兘鍔濆ス杈炴帀榪欎喚宸ヤ綔銆?br />聽聽聽聽聽聽鍏跺疄姣嶄翰鐨勮韓浣撳茍涓嶅ソ錛屽湪鎴戜笂楂樹腑鐨勬椂鍊欙紝姣嶄翰涓嬪湴騫叉椿绱嚭浜嗚倽鐐庯紝鏈鍚庢葷畻娌誨ソ浜嗭紝浣嗘槸涔熶笉鑳藉お鍔崇瘡銆傝屼笖姣嶄翰鐜板湪榪樻湁瀛愬鑲岀槫錛岃櫧鐒舵槸鑹х殑錛屼絾鏄篃鎬誨嚭琛甯︽潵浜嗚韓浣撶殑涓ラ噸璐銆傛垜濠跺┒璺熸垜璇達細鈥滀綘濡堟湁鐥呬綘鍜屼綘濡瑰鎬庝箞涓嶈濂規不鍟婏紝鍒漢鏈夌梾閮芥不錛屽ス鏈夌梾鐣欑潃錛岀湡鏄鎬傗濆叾瀹炴垜濡堜篃鎯蟲不錛屼笉榪囧嵈璇達細鈥滅瓑浣犱咯涓婄彮鎸i挶浜嗗啀娌伙紝鐜板湪鍘誨尰闄篃媯鏌ヤ簡錛岃涓嶈绱э紝鑰屼笖鎵嬫湳璐逛篃寰楀叚涓冨崈錛屾牴鏈篃娌℃湁閽辨不銆傗濓紝涓涓漢鐨勫姏閲忕湡鐨勬槸閭d箞鐨勫井寮卞晩銆傛垜鍙兘鐩兼湜鎴戞棭鐐規瘯涓氾紝鍘繪專閽辯粰姣嶄翰娌葷梾銆傛垜鍦ㄨ繖閲岃璇達細鈥滃錛屾垜鐖變綘錛屾槸浣犵殑鍧氬己鏀拺浜嗚繖涓搴紝璁╂垜浠劅鍒頒簡鎮ㄤ紵澶х殑姣嶇埍錛佲濄?br />聽聽聽聽聽聽鐪嬪埌浜嗘垜鐨勬晠浜嬶紝鎴戝笇鏈涙瘡涓涓悜鎴戣繖鏍風殑絀蜂埂濞冮兘鑳藉鏈変竴棰楀鏂楃殑蹇冿紝鏉ユ敼鍙樻垜浠殑鐢熸椿銆傞兘鑳藉娣辯埍鐫鑷繁鐨勬瘝浜詫紝鑳藉鏈熷緟鐫鏄庡ぉ緹庡ソ鐨勭敓媧?.. ]]> err_寮澶寸殑鑷畾涔夊嚱鏁?/title> http://www.shnenglu.com/sscchh-2000/archive/2006/05/09/6838.html鍙蹭紶綰?/dc:creator>鍙蹭紶綰?/author>Tue, 09 May 2006 13:39:00 GMT http://www.shnenglu.com/sscchh-2000/archive/2006/05/09/6838.html http://www.shnenglu.com/sscchh-2000/comments/6838.html http://www.shnenglu.com/sscchh-2000/archive/2006/05/09/6838.html#Feedback 0 http://www.shnenglu.com/sscchh-2000/comments/commentRss/6838.html http://www.shnenglu.com/sscchh-2000/services/trackbacks/6838.html
D.3 Standard Error Functions
We define our own set of error functions that are used throughout the text to 聽handle error conditions. The reason for using our own error functions is to let us write our error handling with a single line of C code, as in
if (error condition)
err_sys (printf format with any number of arguments) ;
instead of
if (error condition) {
char buff [2002];
snprintf(buff, sizeof (buff), printf format 聽聽聽 with any number of arguments) ;
perror(buff);
exit (1);
}
Our error functions use the variable-length argument list facility from ANSI C . See Section 7.3 of [Kernighan and Ritchie 1988] for additional details.
Figure D.3
lists the differences between the various error functions. If the global integer daemon_proc is nonzero, the message is passed tosyslog with the indicated level; otherwise, the error is output to standard error. Figure D.3. Summary of our standard error functions.
Figure D.4
shows the first five functions from Figure D.3 .
Figure D.4 Our standard error functions.
lib/error.c
1 #include "unp.h"
2 #include <stdarg.h> /* ANSI C header file */
3 #include <syslog.h> /* for syslog() */
4 int daemon_proc; /* set nonzero by daemon_init() */
5 static void err_doit(int, int, const char *, va_list);
6 /* Nonfatal error related to system call
7 * Print message and return */
8 void
9 err_ret(const char *fmt, ...)
10 {
11 va_list ap;
12 va_start(ap, fmt);
13 err_doit(1, LOG_INFO, fmt, ap);
14 va_end(ap);
15 return;
16 }
17 /* Fatal error related to system call
18 * Print message and terminate */
19 void
20 err_sys(const char *fmt, ...)
21 {
22 va_list ap;
23 va_start(ap, fmt);
24 err_doit(1, LOG_ERR, fmt, ap);
25 va_end(ap);
26 exit(1);
27 }
28 /* Fatal error related to system call
29 * Print message, dump core, and terminate */
30 void
31 err_dump(const char *fmt, ...)
32 {
33 va_list ap;
34 va_start(ap, fmt);
35 err_doit(1, LOG_ERR, fmt, ap);
36 va_end(ap);
37 abort(); /* dump core and terminate */
38 exit(1); /* shouldn't get here */
39 }
40 /* Nonfatal error unrelated to system call
41 * Print message and return */
42 void
43 err_msg(const char *fmt, ...)
44 {
45 va_list ap;
46 va_start(ap, fmt);
47 err_doit(0, LOG_INFO, fmt, ap);
48 va_end(ap);
49 return;
50 }
51 /* Fatal error unrelated to system call
52 * Print message and terminate */
53 void
54 err_quit(const char *fmt, ...)
55 {
56 va_list ap;
57 va_start(ap, fmt);
58 err_doit(0, LOG_ERR, fmt, ap);
59 va_end(ap);
60 exit(1);
61 }
62 /* Print message and return to caller
63 * Caller specifies "errnoflag" and "level" */
64 static void
65 err_doit(int errnoflag, int level, const char *fmt, va_list ap)
66 {
67 int errno_save, n;
68 char buf[MAXLINE + 1];
69 errno_save = errno; /* value caller might want printed */
70 #ifdef HAVE_VSNPRINTF
71 vsnprintf(buf, MAXLINE, fmt, ap); * safe */
72 #else
73 vsprintf(buf, fmt, ap); /* not safe */
74 #endif
75 n = strlen(buf);
76 if (errnoflag)
77 snprintf(buf + n, MAXLINE - n, ": %s", strerror(errno_save));
78 strcat(buf, "\n");
79 if (daemon_proc) {
80 syslog(level, buf);
81 } else {
82 fflush(stdout); /* in case stdout and stderr are the same */
83 fputs(buf, stderr);
84 fflush(stderr);
85 }
86 return;
87 }
]]> unp.h鏂囦歡鍐呭 http://www.shnenglu.com/sscchh-2000/archive/2006/05/09/6836.html鍙蹭紶綰?/dc:creator>鍙蹭紶綰?/author>Tue, 09 May 2006 12:43:00 GMT http://www.shnenglu.com/sscchh-2000/archive/2006/05/09/6836.html http://www.shnenglu.com/sscchh-2000/comments/6836.html http://www.shnenglu.com/sscchh-2000/archive/2006/05/09/6836.html#Feedback 2 http://www.shnenglu.com/sscchh-2000/comments/commentRss/6836.html http://www.shnenglu.com/sscchh-2000/services/trackbacks/6836.html 1 /* Our own header. Tabs are set for 4 spaces, not 8 */
2 #ifndef __unp_h
3 #define __unp_h
4 #include "../config.h" /* configuration options for current OS */
5 /* "../config.h" is generated by configure */
6 /* If anything changes in the following list of #includes, must change
7 acsite.m4 also, for configure's tests. */
8 #include <sys/types.h> /* basic system data types */
9 #include <sys/socket.h> /* basic socket definitions */
10 #include <sys/time.h> /* timeval{} for select() */
11 #include <time.h> /* timespec{} for pselect() */
12 #include <netinet/in.h> /* sockaddr_in{} and other Internet defns */
13 #include <arpa/inet.h> /* inet(3) functions */
14 #include <errno.h>
15 #include <fcntl.h> /* for nonblocking */
16 #include <netdb.h>
17 #include <signal.h>
18 #include <stdio.h>
19 #include <stdlib.h>
20 #include <string.h>
21 #include <sys/stat.h> /* for S_xxx file mode constants */
22 #include <sys/uio.h> /* for iovec{} and readv/writev */
23 #include <unistd.h>
24 #include <sys/wait.h>
25 #include <sys/un.h> /* for Unix domain sockets */
26 #ifdef HAVE_SYS_SELECT_H
27 # include <sys/select.h> /* for convenience */
28 #endif
29 #ifdef HAVE_SYS_SYSCTL_H
30 # include <sys/sysctl.h>
31 #endif
32 #ifdef HAVE_POLL_H
33 # include <poll.h> /* for convenience */
34 #endif
35 #ifdef HAVE_SYS_EVENT_H
36 # include <sys/event.h> /* for kqueue */
37 #endif
38 #ifdef HAVE_STRINGS_H
39 # include <strings.h> /* for convenience */
40 #endif
41 /* Three headers are normally needed for socket/file ioctl's:
42 * <sys/ioctl.h>, <sys/filio.h>, and <sys/sockio.h>.
43 */
44 #ifdef HAVE_SYS_IOCTL_H
45 # include <sys/ioctl.h>
46 #endif
47 #ifdef HAVE_SYS_FILIO_H
48 # include <sys/filio.h>
49 #endif
50 #ifdef HAVE_SYS_SOCKIO_H
51 # include <sys/sockio.h>
52 #endif
53 #ifdef HAVE_PTHREAD_H
54 # include <pthread.h>
55 #endif
56 #ifdef HAVE_NET_IF_DL_H
57 # include <net/if_dl.h>
58 #endif
59 #ifdef HAVE_NETINET_SCTP_H
60 #include <netinet/sctp.h>
61 #endif
62 /* OSF/1 actually disables recv() and send() in <sys/socket.h> */
63 #ifdef __osf__
64 #undef recv
65 #undef send
66 #define recv(a,b,c,d) recvfrom(a,b,c,d,0,0)
67 #define send(a,b,c,d) sendto(a,b,c,d,0,0)
68 #endif
69 #ifndef INADDR_NONE
70 #define INADDR_NONE 0xffffffff /* should have been in <netinet/in.h> */
71 #endif
72 #ifndef SHUT_RD /* these three POSIX names are new */
73 #define SHUT_RD 0 /* shutdown for reading */
74 #define SHUT_WR 1 /* shutdown for writing */
75 #define SHUT_RDWR 2 /* shutdown for reading and writing */
76 #endif
77 #ifndef INET_ADDRSTRLEN
78 #define INET_ADDRSTRLEN 16 /* "ddd.ddd.ddd.ddd\0"
79 1234567890123456 */
80 #endif
81 /* Define following even if IPv6 not supported, so we can always allocate
82 an adequately sized buffer without #ifdefs in the code. */
83 #ifndef INET6_ADDRSTRLEN
84 #define INET6_ADDRSTRLEN 46 /* max size of IPv6 address string:
85 "xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx" or
86 "xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:ddd.ddd.ddd.ddd\0"
87 1234567890123456789012345678901234567890123456 */
88 #endif
89 /* Define bzero() as a macro if it's not in standard C library. */
90 #ifndef HAVE_BZERO
91 #define bzero(ptr,n) memset (ptr, 0, n)
92 #endif
93 /* Older resolvers do not have gethostbyname2() */
94 #ifndef HAVE_GETHOSTBYNAME2
95 #define gethostbyname2(host,family) gethostbyname((host))
96 #endif
97 /* The structure returned by recvfrom_flags() */
98 struct unp_in_pktinfo {
99 struct in_addr ipi_addr; /* dst IPv4 address */
100 int ipi_ifindex; /* received interface index */
101 };
102 /* We need the newer CMSG_LEN() and CMSG_SPACE() macros, but few
103 implementations support them today. These two macros really need
104 an ALIGN() macro, but each implementation does this differently. */
105 #ifndef CMSG_LEN
106 #define CMSG_LEN(size) (sizeof(struct cmsghdr) + (size))
107 #endif
108 #ifndef CMSG_SPACE
109 #define CMSG_SPACE(size) (sizeof(struct cmsghdr) + (size))
110 #endif
111 /* POSIX requires the SUN_LEN() macro, but not all implementations define
112 it (yet). Note that this 4.4BSD macro works regardless whether there is
113 a length field or not. */
114 #ifndef SUN_LEN
115 # define SUN_LEN (su) \
116 (sizeof (*(su)) - sizeof ((su)->sun_path) + strlen((su)->sun_path))
117 #endif
118 /* POSIX renames "Unix domain" as "local IPC."
119 Not all systems define AF_LOCAL and PF_LOCAL (yet). */
120 #ifndef AF_LOCAL
121 #define AF_LOCAL AF_UNIX
122 #endif
123 #ifndef PF_LOCAL
124 #define PF_LOCAL PF_UNIX
125 #endif
126 /* POSIX requires that an #include of <poll.h> define INFTIM, but many
127 systems still define it in <sys/stropts.h>. We don't want to include
128 all the STREAMS stuff if it's not needed, so we just define INFTIM here.
129 This is the standard value, but there's no guarantee it is -1. */
130 #ifndef INFTIM
131 #define INFTIM (-1) /* infinite poll timeout */
132 #ifdef HAVE_POLL_H
133 #define INFTIM_UNPH /* tell unpxti.h we defined it */
134 #endif
135 #endif
136 /* Following could be derived from SOMAXCONN in <sys/socket.h>, but many
137 kernels still #define it as 5, while actually supporting many more */
138 #define LISTENQ 1024 /* 2nd argument to listen () */
139 /* Miscellaneous constants */
140 #define MAXLINE 4096 /* max text line length */
141 #define BUFFSIZE 8192 /* buffer size for reads and writes */
142 /* Define some port number that can be used for our examples */
143 #define SERV_PORT 9877 /* TCP and UDP */
144 #define SERV_PORT_STR "9877" /* TCP and UDP */
145 #define UNIXSTR_PATH "/tmp/unix.str" /* Unix domain stream */
146 #define UNIXDG_PATH "/tmp/unix.dg" /* Unix domain datagram */
147 /* Following shortens all the typecasts of pointer arguments: */
148 #define SA struct sockaddr
149 #define HAVE_STRUCT_SOCKADDR_STORAGE
150 #ifndef HAVE_STRUCT_SOCKADDR_STORAGE
151 /*
152 * RFC 3493: protocol-independent placeholder for socket addresses
153 */
154 #define __SS_MAXSIZE 128
155 #define __SS_ALIGNSIZE (sizeof(int64_t))
156 #ifdef HAVE_SOCKADDR_SA_LEN
157 #define __SS_PAD1SIZE (__SS_ALIGNSIZE - sizeof(u_char) - sizeof(sa_family_t))
158 #else
159 #define __SS_PAD1SIZE (__SS_ALIGNSIZE - sizeof(sa_family_t))
160 #endif
161 #define __SS_PAD2SIZE (__SS_MAXSIZE - 2*__SS_ALIGNSIZE)
162 struct sockaddr_storage {
163 #ifdef HAVE_SOCKADDR_SA_LEN
164 u_char ss_len;
165 #endif
166 sa_family_t ss_family;
167 char __ss_pad1[__SS_PAD1SIZE];
168 int64_t __ss_align;
169 char __ss_pad2[__SS_PAD2SIZE];
170 };
171 #endif
172 #define FILE_MODE (S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH)
173 /* default file access permissions for new files */
174 #define DIR_MODE (FILE_MODE | S_IXUSR | S_IXGRP | S_IXOTH)
175 /* default permissions for new directories */
176 typedef void Sigfunc (int); /* for signal handlers */
177 #define min(a,b) ((a) < (b) ? (a) : (b))
178 #define max(a,b) ((a) > (b) ? (a) : (b))
179 #ifndef HAVE_ADDRINFO_STRUCT
180 # include "../lib/addrinfo.h"
181 #endif
182 #ifndef HAVE_IF_NAMEINDEX_STRUCT
183 struct if_nameindex {
184 unsigned int if_index; /* 1, 2, ... */
185 char *if_name; /* null-terminated name: "le0", ... */
186 };
187 #endif
188 #ifndef HAVE_TIMESPEC_STRUCT
189 struct timespec {
190 time_t tv_sec; /* seconds */
191 long tv_nsec; /* and nanoseconds */
192 };
193 #endif
]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
亚洲免费电影在线观看 |
亚洲欧美在线aaa |
国产一区二区三区四区老人 |
国产精品一区免费观看 |
国产欧美一区二区三区在线老狼
|
麻豆国产va免费精品高清在线 |
久久先锋影音 |
亚洲美女淫视频 |
国产精品福利网站 |
亚洲国产一区二区在线 |
欧美激情精品久久久久久 |
亚洲精品在线免费 |
免费成人性网站 |
国产欧美91 |
亚洲毛片av在线 |
亚洲激情一区二区 |
欧美一乱一性一交一视频 |
亚洲国产视频a |
一区二区动漫 |
欧美肥婆在线 |
亚洲二区三区四区 |
欧美激情第六页 |
亚洲黄网站黄 |
亚洲美女啪啪 |
老鸭窝毛片一区二区三区
|
欧美国产91 |
香蕉精品999视频一区二区
|
免费日韩一区二区 |
亚洲在线国产日韩欧美 |
欧美精品xxxxbbbb |
亚洲国产高清视频 |
99国产精品久久 |
欧美另类视频在线 |
亚洲精品视频在线观看网站 |
羞羞漫画18久久大片 |
老司机一区二区 |
一区二区三区在线视频观看
|
国产乱人伦精品一区二区 |
欧美一区91 |
母乳一区在线观看 |
久久精品天堂 |
国产日韩高清一区二区三区在线 |
欧美激情按摩 |
国产一区二区精品在线观看 |
亚洲视频免费看 |
国产精品红桃 |
亚洲精品影院 |
亚洲另类自拍 |
9久草视频在线视频精品 |
亚洲国产精品ⅴa在线观看 |
午夜精彩国产免费不卡不顿大片 |
国产精品视频yy9099 |
久久久久久夜 |
久久亚洲精品欧美 |
亚洲精品在线免费观看视频 |
久久精品国产综合 |
久久一日本道色综合久久 |
国产精品午夜电影 |
亚洲色无码播放 |
亚洲综合好骚 |
久久国产精品一区二区 |
亚洲欧洲日本mm |
日韩视频一区二区三区在线播放 |
亚洲国产精品国自产拍av秋霞 |
久久国内精品视频 |
免费成年人欧美视频 |
韩国一区电影 |
99精品欧美一区 |
亚洲一区二区三区中文字幕在线 |
亚洲午夜精品福利 |
亚洲国产精品久久久久秋霞影院 |
久久精品国产亚洲精品
|
久久婷婷国产综合尤物精品 |
亚洲欧美影院 |
国产日韩欧美一区在线
|
午夜一区二区三视频在线观看 |
国产精品久久999 |
亚洲综合色自拍一区 |
亚洲国产一区视频 |
欧美风情在线观看 |
日韩午夜中文字幕 |
欧美在线视频网站 |
欧美日韩国产美女 |
免费成人性网站 |
亚洲国产小视频 |
欧美激情久久久久 |
亚洲一区高清 |
美日韩免费视频 |
日韩亚洲精品视频 |
久久狠狠一本精品综合网 |
牛牛国产精品 |
一区二区三区视频在线 |
免费不卡视频 |
中文一区二区在线观看 |
久久精品国产久精国产爱 |
国产精品地址 |
久久久夜夜夜 |
久久久久久高潮国产精品视 |
国产精品v日韩精品 |
亚洲高清精品中出 |
国产综合一区二区 |
亚洲成人原创 |
国产伦精品一区二区 |
国产曰批免费观看久久久 |
欧美一区二区三区视频在线
|
亚洲国产99精品国自产 |
久久精品免费电影 |
午夜精品亚洲 |
欧美一级欧美一级在线播放 |
国产精品成人播放 |
午夜精品久久久久久久久久久久 |
亚洲一区久久久 |
国产欧美va欧美va香蕉在 |
久久裸体艺术 |
欧美精品一区在线播放 |
久久精品国产69国产精品亚洲 |
一色屋精品亚洲香蕉网站 |
另类欧美日韩国产在线 |
国产午夜久久久久 |
欧美日韩综合网 |
一本色道久久综合亚洲精品不卡
|
麻豆九一精品爱看视频在线观看免费 |
亚洲人在线视频 |
国产真实久久 |
国产精品区一区二区三区 |
欧美日韩a区 |
美女主播一区 |
久久亚洲二区 |
久久精品国产第一区二区三区最新章节
|
亚洲靠逼com |
亚洲国产成人av |
久久亚裔精品欧美 |
久久精品二区亚洲w码 |
性欧美xxxx大乳国产app |
中日韩美女免费视频网址在线观看
|
性8sex亚洲区入口 |
亚洲伊人伊色伊影伊综合网
|
香蕉av福利精品导航 |
亚洲午夜日本在线观看 |
亚洲视频碰碰 |
亚洲视屏在线播放 |
亚洲一级免费视频 |
亚洲欧美清纯在线制服 |
国产一区二区丝袜高跟鞋图片 |
欧美日韩亚洲一区 |
欧美一级午夜免费电影 |
宅男在线国产精品 |
亚洲一区二区在线免费观看视频 |
日韩亚洲国产精品 |
亚洲最新在线 |
国产精品视频免费在线观看 |
欧美视频在线免费 |
国产精品亚洲一区 |
国产婷婷色一区二区三区 |
国产一级精品aaaaa看 |
极品中文字幕一区 |
亚洲福利久久 |
亚洲乱码精品一二三四区日韩在线 |
亚洲精品中文字幕女同 |
夜夜嗨av色综合久久久综合网 |
中日韩男男gay无套 |
欧美一区二区三区四区高清 |
久久久久久久久久码影片 |
欧美成人激情在线 |
日韩天天综合 |
亚洲一级片在线观看 |
久久精品国产69国产精品亚洲 |
久久蜜桃精品 |
欧美日韩亚洲一区三区 |
国产日韩在线看片 |
亚洲国内高清视频 |
久久激情网站 |
欧美激情一区二区三区在线视频观看 |
欧美日韩亚洲91 |
麻豆精品精华液 |
欧美性猛交99久久久久99按摩 |
国产精品美腿一区在线看 |
久久久综合激的五月天 |
欧美成人午夜激情视频 |
久久久噜噜噜久久中文字免 |
欧美激情精品久久久久久蜜臀 |
国产伦精品一区二区三区四区免费 |
在线观看成人一级片 |
亚洲图片欧美日产 |
亚洲精品日韩久久 |
免费人成精品欧美精品 |
亚洲视频欧洲视频 |
女同性一区二区三区人了人一 |
一本色道久久综合一区 |
久久人人爽人人爽 |
国产精品国产 |
日韩午夜免费视频 |
免费不卡视频 |
亚欧成人精品 |
欧美va亚洲va香蕉在线 |
噜噜爱69成人精品 |
蜜桃精品一区二区三区 |
亚洲一区一卡 |
欧美日韩一区高清 |
亚洲免费观看 |