锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美在线视频一区二区三区,久久久精品免费视频,韩国欧美一区 http://m.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://m.shnenglu.com/sscchh-2000/archive/2006/05/12/7011.html鍙蹭紶綰?/dc:creator>鍙蹭紶綰?/author>Fri, 12 May 2006 06:10:00 GMT http://m.shnenglu.com/sscchh-2000/archive/2006/05/12/7011.html http://m.shnenglu.com/sscchh-2000/comments/7011.html http://m.shnenglu.com/sscchh-2000/archive/2006/05/12/7011.html#Feedback 18 http://m.shnenglu.com/sscchh-2000/comments/commentRss/7011.html http://m.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://m.shnenglu.com/sscchh-2000/archive/2006/05/09/6838.html鍙蹭紶綰?/dc:creator>鍙蹭紶綰?/author>Tue, 09 May 2006 13:39:00 GMT http://m.shnenglu.com/sscchh-2000/archive/2006/05/09/6838.html http://m.shnenglu.com/sscchh-2000/comments/6838.html http://m.shnenglu.com/sscchh-2000/archive/2006/05/09/6838.html#Feedback 0 http://m.shnenglu.com/sscchh-2000/comments/commentRss/6838.html http://m.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://m.shnenglu.com/sscchh-2000/archive/2006/05/09/6836.html鍙蹭紶綰?/dc:creator>鍙蹭紶綰?/author>Tue, 09 May 2006 12:43:00 GMT http://m.shnenglu.com/sscchh-2000/archive/2006/05/09/6836.html http://m.shnenglu.com/sscchh-2000/comments/6836.html http://m.shnenglu.com/sscchh-2000/archive/2006/05/09/6836.html#Feedback 2 http://m.shnenglu.com/sscchh-2000/comments/commentRss/6836.html http://m.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
]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
久久精品一区蜜桃臀影院
|
久久精品人人做人人爽 |
亚洲一区在线播放 |
在线天堂一区av电影 |
99综合精品 |
一本久久知道综合久久 |
一本一本久久 |
欧美在线免费播放 |
麻豆成人综合网 |
欧美精品九九99久久 |
国产精品视频免费观看www |
国产午夜精品麻豆 |
亚洲欧洲日产国产网站 |
亚洲在线观看免费视频 |
久久九九国产精品怡红院 |
欧美激情亚洲综合一区 |
一区二区三欧美 |
久久精品综合网 |
欧美调教视频 |
狠狠久久亚洲欧美专区 |
一本综合精品 |
久久免费精品视频 |
一本色道久久综合 |
久久一区欧美 |
国产女精品视频网站免费 |
亚洲国产视频a |
久久成人免费视频 |
亚洲毛片一区 |
精品成人一区二区三区 |
欧美精品18 |
国产日产精品一区二区三区四区的观看方式 |
国内精品久久久久久久影视麻豆 |
亚洲免费成人 |
老司机精品福利视频 |
一区二区电影免费观看 |
久久久久久尹人网香蕉 |
国产精品三级久久久久久电影 |
在线观看欧美 |
欧美一级一区 |
一区二区国产日产 |
欧美激情精品久久久久久大尺度 |
国产一区二区精品久久 |
亚洲欧美在线高清 |
一区二区免费看 |
欧美伦理影院 |
亚洲美女黄色 |
亚洲黄网站黄 |
免费在线看一区 |
尤物99国产成人精品视频 |
亚洲女性裸体视频 |
亚洲每日更新 |
欧美日韩成人综合天天影院 |
亚洲人成网站精品片在线观看 |
久久亚洲春色中文字幕 |
午夜精品在线 |
国产亚洲成人一区 |
久久久精品国产一区二区三区 |
亚洲主播在线 |
国产日韩欧美另类 |
久久精品国产第一区二区三区最新章节
|
亚洲精品日本 |
欧美二区视频 |
久久久久成人精品免费播放动漫 |
国产嫩草一区二区三区在线观看 |
亚洲午夜精品在线 |
亚洲精品一区在线观看 |
欧美日本免费一区二区三区 |
亚洲免费久久 |
日韩视频免费大全中文字幕 |
欧美日韩另类一区 |
亚洲一区在线直播 |
亚洲免费在线视频一区 二区 |
国产精品区免费视频 |
性欧美8khd高清极品 |
欧美一区二区三区另类
|
亚洲欧美国产精品专区久久 |
亚洲一级特黄 |
国产自产在线视频一区 |
欧美高清hd18日本 |
欧美国产一区二区 |
亚洲欧美日韩精品久久久久 |
欧美亚洲免费在线 |
欧美一级片在线播放 |
欧美精品乱人伦久久久久久
|
国产日韩欧美视频 |
麻豆免费精品视频 |
欧美精品一区二区视频 |
午夜在线精品 |
美女主播视频一区 |
亚洲一区二区精品在线 |
欧美一级艳片视频免费观看 |
亚洲国产欧美不卡在线观看 |
日韩视频免费观看高清在线视频
|
亚洲欧洲精品一区 |
一区二区三区四区蜜桃 |
国产一区二区三区黄 |
亚洲成色777777在线观看影院 |
欧美日韩国产在线观看 |
久久久久综合 |
欧美三级不卡 |
欧美1区2区3区 |
国产精品一卡 |
最近看过的日韩成人 |
国产日韩欧美精品在线 |
亚洲精品一二三 |
黄色成人av在线 |
中文av一区特黄 |
亚洲精品视频一区 |
久久精品成人一区二区三区蜜臀 |
一本色道久久综合亚洲二区三区
|
黄色成人91 |
亚洲在线观看视频网站 |
亚洲日韩欧美视频一区 |
欧美一区=区 |
亚洲男人第一av网站 |
欧美成人免费全部观看天天性色 |
久久精品夜色噜噜亚洲aⅴ |
欧美日韩人人澡狠狠躁视频 |
免费不卡中文字幕视频 |
国产日韩欧美一区在线 |
一本久久综合亚洲鲁鲁 |
亚洲久久一区二区 |
美女在线一区二区 |
麻豆91精品91久久久的内涵 |
国产欧美一二三区 |
亚洲一区二区三区国产 |
一本色道久久加勒比88综合 |
嫩模写真一区二区三区三州 |
男人的天堂亚洲 |
狠狠色丁香久久婷婷综合_中 |
亚洲特色特黄 |
亚洲欧美日本日韩 |
国产精品男gay被猛男狂揉视频 |
日韩午夜激情av |
亚洲视频图片小说 |
国产精品jizz在线观看美国 |
一本色道久久88综合日韩精品
|
亚洲在线第一页 |
国产精品av久久久久久麻豆网 |
国产麻豆日韩欧美久久 |
日韩视频中文 |
亚洲成色最大综合在线 |
久久精品一区二区三区中文字幕
|
99一区二区 |
午夜精品国产更新 |
国产精品视频最多的网站 |
亚洲免费综合 |
久久久久国产精品人 |
在线观看视频一区二区欧美日韩 |
久久精品一区二区三区不卡 |
美女成人午夜 |
亚洲精品一二三 |
欧美无砖砖区免费 |
欧美亚洲视频一区二区 |
久久综合给合 |
亚洲伦理在线免费看 |
欧美午夜免费 |
久久精品一区二区三区四区 |
亚洲二区在线观看 |
亚洲一区影院 |
韩日视频一区 |
欧美精选一区 |
性欧美videos另类喷潮 |
欧美国产欧美综合 |
亚洲影视综合 |
尤妮丝一区二区裸体视频 |
欧美日韩一区二区视频在线观看 |
亚洲婷婷综合色高清在线 |
久久久欧美精品sm网站 |
亚洲精品字幕 |
国产午夜精品麻豆 |
欧美精品免费在线 |
羞羞色国产精品 |
亚洲国产影院 |
久久久国产精品亚洲一区 |
日韩一级成人av |
国产亚洲欧美一区在线观看 |
欧美国产欧美综合
|
亚洲精品一区二区三区福利 |
午夜精品久久久久久久 |
亚洲国产精品成人精品 |
国产精品人人做人人爽人人添 |
久久精品国产亚洲一区二区三区 |
亚洲人成在线观看网站高清 |
久久精品国产亚洲aⅴ |
一区二区免费在线观看 |
国产亚洲一区在线 |
欧美私人啪啪vps |
欧美第十八页 |
久久激情五月激情 |
亚洲在线视频一区 |
亚洲精品之草原avav久久 |
久久中文精品 |
亚洲男人第一网站 |
一区二区激情小说 |
最新69国产成人精品视频免费 |
国产日韩精品一区二区三区在线 |
欧美日韩国产综合网
|
亚洲曰本av电影 |
日韩午夜电影av |