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

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

?? pca_lookup_file.3

?? BCAST Implementation for NS2
?? 3
字號:
.\" Copyright (C) 2001 by Martin C. Shepherd.\" .\" All rights reserved..\" .\" Permission is hereby granted, free of charge, to any person obtaining a.\" copy of this software and associated documentation files (the.\" "Software"), to deal in the Software without restriction, including.\" without limitation the rights to use, copy, modify, merge, publish,.\" distribute, and/or sell copies of the Software, and to permit persons.\" to whom the Software is furnished to do so, provided that the above.\" copyright notice(s) and this permission notice appear in all copies of.\" the Software and that both the above copyright notice(s) and this.\" permission notice appear in supporting documentation..\" .\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE..\" .\" Except as contained in this notice, the name of a copyright holder.\" shall not be used in advertising or otherwise to promote the sale, use.\" or other dealings in this Software without prior written authorization.\" of the copyright holder..TH pca_lookup_file 3.SH NAMEpca_lookup_file, del_PathCache, del_PcaPathConf, new_PathCache, new_PcaPathConf, pca_last_error, pca_path_completions, pca_scan_path, pca_set_check_fn, ppc_file_start, ppc_literal_escapes \- lookup a file in a list of directories.SH SYNOPSIS.nf#include <libtecla.h>PathCache *new_PathCache(void);PathCache *del_PathCache(PathCache *pc);int pca_scan_path(PathCache *pc, const char *path);void pca_set_check_fn(PathCache *pc, CplCheckFn *check_fn,                      void *data);char *pca_lookup_file(PathCache *pc, const char *name,                      int name_len, int literal);const char *pca_last_error(PathCache *pc);CPL_MATCH_FN(pca_path_completions);.fi.SH DESCRIPTIONThe \f3PathCache\f1 object is part of the tecla library (see thelibtecla(3) man page)..sp\f3PathCache\f1 objects allow an application to search for files inany colon separated list of directories, such as the unix executionPATH environment variable. Files in absolute directories are cached ina \f3PathCache\f1 object, whereas relative directories are scanned asneeded. Using a \f3PathCache\f1 object, you can look up the fullpathname of a simple filename, or you can obtain a list of thepossible completions of a given filename prefix. By default all filesin the list of directories are targets for lookup and completion, buta versatile mechanism is provided for only selecting specific types offiles. The obvious application of this facility is to provideTab-completion and lookup of executable commands in the unix PATH, soan optional callback which rejects all but executable files, isprovided..sp.SH AN EXAMPLEUnder UNIX, the following example program looks up and displays thefull pathnames of each of the command names on the command line..sp.nf  #include <stdio.h>  #include <stdlib.h>  #include <libtecla.h>  int main(int argc, char *argv[])  {    int i;  /*   * Create a cache for executable files.   */    PathCache *pc = new_PathCache();    if(!pc)      exit(1);  /*   * Scan the user's PATH for executables.   */    if(pca_scan_path(pc, getenv("PATH"))) {      fprintf(stderr, "%s\\n", pca_last_error(pc));      exit(1);    }  /*   * Arrange to only report executable files.   */   pca_set_check_fn(pc, cpl_check_exe, NULL);  /*   * Lookup and display the full pathname of each of the   * commands listed on the command line.   */    for(i=1; i<argc; i++) {      char *cmd = pca_lookup_file(pc, argv[i], -1, 0);      printf("The full pathname of '%s' is %s\\n", argv[i],             cmd ? cmd : "unknown");    }    pc = del_PathCache(pc);  /* Clean up */    return 0;  }.fi.spThe following is an example of what this does on my laptop underlinux:.sp.nf  $ ./example less more blob  The full pathname of 'less' is /usr/bin/less  The full pathname of 'more' is /bin/more  The full pathname of 'blob' is unknown  $ .fi.sp.SH FUNCTION DESCRIPTIONSIn order to use the facilities of this module, you must first allocatea \f3PathCache\f1 object by calling the \f3new_PathCache()\f1constructor function..sp.nf  PathCache *new_PathCache(void).fi.spThis function creates the resources needed to cache and lookup filesin a list of directories. It returns \f3NULL\f1 on error..sp.SH POPULATING THE CACHEOnce you have created a cache, it needs to be populated with files.To do this, call the \f3pca_scan_path()\f1 function..sp.nf  int pca_scan_path(PathCache *pc, const char *path);.fi.spWhenever this function is called, it discards the current contents ofthe cache, then scans the list of directories specified in its\f3path\f1 argument for files. The \f3path\f1 argument must be astring containing a colon-separated list of directories, such as\f3"/usr/bin:/home/mcs/bin:."\f1. This can include directoriesspecified by absolute pathnames such as \f3"/usr/bin"\f1, as well assub-directories specified by relative pathnames such as \f3"."\f1 or\f3"bin"\f1. Files in the absolute directories are immediately cachedin the specified \f3PathCache\f1 object, whereas sub-directories,whose identities obviously change whenever the current workingdirectory is changed, are marked to be scanned on the fly whenever afile is looked up..spOn success this function return \f30\f1. On error it returns \f31\f1,and a description of the error can be obtained by calling\f3pca_last_error(pc)\f1..sp.SH LOOKING UP FILESOnce the cache has been populated with files, you can look up the fullpathname of a file, simply by specifying its filename to\f3pca_lookup_file()\f1..sp.nf  char *pca_lookup_file(PathCache *pc, const char *name,                        int name_len, int literal);.fi.spTo make it possible to pass this function a filename which is actuallypart of a longer string, the \f3name_len\f1 argument can be used tospecify the length of the filename at the start of the \f3name[]\f1argument. If you pass \f3-1\f1 for this length, the length of thestring will be determined with \f3strlen()\f1. If the \f3name[]\f1string might contain backslashes that escape the special meanings ofspaces and tabs within the filename, give the \f3literal\f1 argument,the value \f30\f1. Otherwise, if backslashes should be treated asnormal characters, pass \f31\f1 for the value of the \f3literal\f1argument..SH FILENAME COMPLETIONLooking up the potential completions of a filename-prefix in thefilename cache, is achieved by passing the provided\f3pca_path_completions()\f1 callback function to the\f3cpl_complete_word()\f1 function (see the \f3cpl_complete_word(3)\f1man page)..sp.nf  CPL_MATCH_FN(pca_path_completions);.fi.spThis callback requires that its \f3data\f1 argument be a pointer to a\f3PcaPathConf\f1 object. Configuration objects of this type areallocated by calling \f3new_PcaPathConf()\f1..sp.nf  PcaPathConf *new_PcaPathConf(PathCache *pc);.fi.spThis function returns an object initialized with default configurationparameters, which determine how the \f3cpl_path_completions()\f1callback function behaves. The functions which allow you toindividually change these parameters are discussed below..spBy default, the \f3pca_path_completions()\f1 callback functionsearches backwards for the start of the filename being completed,looking for the first un-escaped space or the start of the inputline. If you wish to specify a different location, call\f3ppc_file_start()\f1 with the index at which the filename starts inthe input line. Passing \f3start_index=-1\f1 re-enables the defaultbehavior..sp.nf  void ppc_file_start(PcaPathConf *ppc, int start_index);.fi.spBy default, when \f3pca_path_completions()\f1 looks at a filename inthe input line, each lone backslash in the input line is interpretedas being a special character which removes any special significance ofthe character which follows it, such as a space which should be takenas part of the filename rather than delimiting the start of thefilename. These backslashes are thus ignored while looking forcompletions, and subsequently added before spaces, tabs and literalbackslashes in the list of completions. To have unescaped backslashestreated as normal characters, call \f3ppc_literal_escapes()\f1 with anon-zero value in its \f3literal\f1 argument..sp.nf  void ppc_literal_escapes(PcaPathConf *ppc, int literal);.fi.spWhen you have finished with a \f3PcaPathConf\f1 variable, you can passit to the \f3del_PcaPathConf()\f1 destructor function to reclaim itsmemory..sp.nf  PcaPathConf *del_PcaPathConf(PcaPathConf *ppc);.fi.sp.SH BEING SELECTIVEIf you are only interested in certain types or files, such as, forexample, executable files, or files whose names end in a particularsuffix, you can arrange for the file completion and lookup functionsto be selective in the filenames that they return.  This is done byregistering a callback function with your \f3PathCache\f1object. Thereafter, whenever a filename is found which either matchesa filename being looked up, or matches a prefix which is beingcompleted, your callback function will be called with the fullpathname of the file, plus any application-specific data that youprovide, and if the callback returns \f31\f1 the filename will bereported as a match, and if it returns \f30\f1, it will be ignored.Suitable callback functions and their prototypes should be declaredwith the following macro. The \f3CplCheckFn\f1 \f3typedef\f1 is alsoprovided in case you wish to declare pointers to such functions..sp.nf  #define CPL_CHECK_FN(fn) int (fn)(void *data, \\                                    const char *pathname)  typedef CPL_CHECK_FN(CplCheckFn);.fi.spRegistering one of these functions involves calling the\f3pca_set_check_fn()\f1 function. In addition to the callbackfunction, passed via the \f3check_fn\f1 argument, you can pass apointer to anything via the \f3data\f1 argument. This pointer will bepassed on to your callback function, via its own \f3data\f1 argument,whenever it is called, so this provides a way to pass appplicationspecific data to your callback..sp.nf  void pca_set_check_fn(PathCache *pc, CplCheckFn *check_fn,                        void *data);.fi.spNote that these callbacks are passed the full pathname of eachmatching file, so the decision about whether a file is of interest canbe based on any property of the file, not just its filename. As anexample, the provided \f3cpl_check_exe()\f1 callback function looks atthe executable permissions of the file and the permissions of itsparent directories, and only returns \f31\f1 if the user has executepermission to the file. This callback function can thus be used tolookup or complete command names found in the directories listed inthe user's \f3PATH\f1 environment variable. The example program givenearlier in this man page provides a demonstration of this..spBeware that if somebody tries to complete an empty string, yourcallback will get called once for every file in the cache, which couldnumber in the thousands. If your callback does anything timeconsuming, this could result in an unacceptable delay for the user, socallbacks should be kept short..spTo improve performance, whenever one of these callbacks is called, thechoice that it makes is cached, and the next time the correspondingfile is looked up, instead of calling the callback again, the cachedrecord of whether it was accepted or rejected is used. Thus ifsomebody tries to complete an empty string, and hits tab a second timewhen nothing appears to happen, there will only be one long delay,since the second pass will operate entirely from the cacheddispositions of the files. These cached dipositions are discardedwhenever \f3pca_scan_path()\f1 is called, and whenever\f3pca_set_check_fn()\f1 is called with changed callback function ordata arguments..SH ERROR HANDLINGIf \f3pca_scan_path()\f1 reports that an error occurred by returning\f31\f1, you can obtain a terse description of the error by calling\f3pca_last_error(pc)\f1. This returns an internal string containingan error message..sp.nf  const char *pca_last_error(PathCache *pc);.fi.sp.SH CLEANING UPOnce you have finished using a \f3PathCache\f1 object, you can reclaimits resources by passing it to the \f3del_PathCache()\f1 destructorfunction. This takes a pointer to one of these objects, and alwaysreturns \f3NULL\f1..sp.nf  PathCache *del_PathCache(PathCache *pc);.fi.sp.SH THREAD SAFETYIn multi-threaded programs, you should use the \f3libtecla_r.a\f1version of the library. This uses POSIX reentrant functions whereavailable (hence the \f3_r\f1 suffix), and disables features that relyon non-reentrant system functions. In the case of this module, theonly disabled feature is username completion in \f3~username/\f1expressions, in \f3cpl_path_completions()\f1.Using the \f3libtecla_r.a\f1 version of the library, it is safe to usethe facilities of this module in multiple threads, provided that eachthread uses a separately allocated \f3PathCache\f1 object. In otherwords, if two threads want to do path searching, they should each call\f3new_PathCache()\f1 to allocate their own caches..SH FILES.nflibtecla.a    -    The tecla librarylibtecla.h    -    The tecla header file..fi.SH SEE ALSOlibtecla(3), gl_get_line(3), ef_expand_file(3), cpl_complete_word(3)  .SH AUTHORMartin Shepherd  (mcs@astro.caltech.edu)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品毛片高清在线完整版| 黄色资源网久久资源365| 日日欢夜夜爽一区| 成人小视频免费在线观看| 正在播放亚洲一区| 亚洲激情图片小说视频| 岛国av在线一区| 欧美一区二区三区视频免费 | 精品国产一区二区三区久久影院 | 成人免费看黄yyy456| 欧美一区二区三区婷婷月色| 亚洲综合一区在线| 99久久精品99国产精品| 国产亚洲欧美激情| 卡一卡二国产精品| 欧美一区二区三区在线视频 | 日本不卡在线视频| 欧美视频精品在线| 亚洲精品高清视频在线观看| 成人综合在线视频| 久久九九国产精品| 国产成人午夜99999| 久久亚洲综合色一区二区三区| 婷婷开心激情综合| 欧美精品亚洲二区| 亚洲一级二级在线| 欧美伊人久久大香线蕉综合69 | 精品电影一区二区| 久久激情五月激情| 日韩欧美一二三四区| 麻豆精品视频在线观看| 日韩免费高清av| 国产中文一区二区三区| 久久久久国产免费免费| 国产成人精品影院| 国产精品激情偷乱一区二区∴| 国产成人8x视频一区二区| 亚洲国产精品成人综合| 成人免费毛片a| 亚洲精品日韩一| 欧美视频一二三区| 日韩va欧美va亚洲va久久| 欧美一区二区美女| 国产精品一区二区三区99| 久久综合狠狠综合久久综合88 | 一本大道久久a久久精二百| 亚洲麻豆国产自偷在线| 欧美性猛交xxxxxxxx| 日韩综合在线视频| 精品国产91乱码一区二区三区 | 极品少妇xxxx精品少妇| 久久在线观看免费| 成人午夜激情在线| 亚洲一区二区三区免费视频| 欧美一区二区三区系列电影| 国产美女娇喘av呻吟久久| 国产精品第一页第二页第三页| 日本高清免费不卡视频| 五月天激情综合网| 精品欧美乱码久久久久久1区2区| 成熟亚洲日本毛茸茸凸凹| 一区二区三区日韩在线观看| 日韩一区二区免费在线电影| 成人性生交大片免费看中文 | 欧美精选在线播放| 国产精品影视在线观看| 日韩美女久久久| 日韩一区二区三区精品视频| 成人黄色在线看| 日韩成人一区二区| 中文一区一区三区高中清不卡| 欧美午夜在线一二页| 国产一区二区0| 亚洲一区二区综合| 国产欧美一区二区精品仙草咪| 在线一区二区观看| 国产成人综合精品三级| 婷婷激情综合网| 自拍偷拍欧美精品| 欧美精品一区二区不卡 | 精品久久免费看| 在线观看日韩精品| 国产成人无遮挡在线视频| 天堂一区二区在线| 亚洲女与黑人做爰| 欧美国产一区在线| 精品成人免费观看| 欧美日韩在线综合| 91丨porny丨首页| 国产一区二区三区免费在线观看| 香蕉乱码成人久久天堂爱免费| ●精品国产综合乱码久久久久| 日韩免费在线观看| 欧美乱妇一区二区三区不卡视频| 99久久国产综合精品色伊| 韩国精品免费视频| 久久国产精品色婷婷| 日韩电影在线观看一区| 亚洲图片欧美视频| 一区二区视频免费在线观看| 中文文精品字幕一区二区| 欧美精品一区二区三区一线天视频| 欧美精品日韩综合在线| 在线视频你懂得一区| 91在线观看成人| av电影一区二区| 不卡视频一二三| 国产91丝袜在线观看| 国产一区二区网址| 韩国成人福利片在线播放| 伦理电影国产精品| 久久99精品久久久久久动态图| 天堂久久久久va久久久久| 亚洲福利一二三区| 丝袜美腿亚洲色图| 天天色天天操综合| 日韩影视精彩在线| 蜜臀久久99精品久久久画质超高清| 日韩av电影免费观看高清完整版| 亚洲a一区二区| 青青草精品视频| 看电视剧不卡顿的网站| 国产精品77777| av网站免费线看精品| 色噜噜偷拍精品综合在线| 欧美亚日韩国产aⅴ精品中极品| 色噜噜夜夜夜综合网| 欧美日产国产精品| 日韩精品一区国产麻豆| 欧美mv和日韩mv国产网站| 久久久久久久综合色一本| 国产欧美日韩视频在线观看| 国产精品蜜臀在线观看| 亚洲女子a中天字幕| 天天综合日日夜夜精品| 国内欧美视频一区二区| 成人动漫一区二区在线| 欧美在线免费播放| 欧美电影免费观看高清完整版在 | 国产精品一区二区在线观看不卡| 成人免费黄色大片| 在线视频你懂得一区| 欧美大度的电影原声| 国产精品少妇自拍| 亚洲国产精品久久人人爱蜜臀| 日韩二区三区在线观看| 国产91精品一区二区| 欧美日韩精品专区| 国产日韩欧美综合一区| 亚洲国产欧美一区二区三区丁香婷| 日本v片在线高清不卡在线观看| 成人一区二区三区中文字幕| 欧美唯美清纯偷拍| 国产偷v国产偷v亚洲高清| 亚洲一区av在线| 国产不卡高清在线观看视频| 欧美少妇bbb| 国产精品入口麻豆九色| 日本sm残虐另类| gogo大胆日本视频一区| 日韩视频在线你懂得| 中文字幕综合网| 国产麻豆精品一区二区| 欧美美女直播网站| 欧美国产精品一区| 日韩国产欧美视频| 日本久久精品电影| 国产亚洲成aⅴ人片在线观看 | 国产日韩精品一区二区三区| 亚洲第一会所有码转帖| 高清成人在线观看| 日韩视频一区二区三区| 一区二区三区在线视频播放| 成人一区在线看| 久久久久久黄色| 日本不卡一区二区三区 | 国产夜色精品一区二区av| 亚洲一二三四在线观看| 99精品国产一区二区三区不卡| 亚洲精品在线观看网站| 亚洲va国产天堂va久久en| 91丝袜美腿高跟国产极品老师| 国产欧美日韩精品一区| 久久精品国产99| 日韩欧美一区二区久久婷婷| 一区二区三区国产精华| 91丨九色丨蝌蚪丨老版| 亚洲国产精品av| 粉嫩aⅴ一区二区三区四区五区| 日韩三级中文字幕| 日韩成人免费看| 制服.丝袜.亚洲.中文.综合| 亚洲电影一级黄| 欧美中文字幕久久| 亚洲国产精品一区二区www| 色呦呦一区二区三区| 亚洲欧美日韩成人高清在线一区| av资源网一区| 综合久久一区二区三区| 色88888久久久久久影院野外|