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

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

?? filevms.c

?? Boost provides free peer-reviewed portable C++ source libraries. We emphasize libraries that work
?? C
字號:
/* * Copyright 1993-2002 Christopher Seiwald and Perforce Software, Inc. * * This file is part of Jam - see jam.c for Copyright information. *//*  This file is ALSO: *  Copyright 2001-2004 David Abrahams. *  Distributed under the Boost Software License, Version 1.0. *  (See accompanying file LICENSE_1_0.txt or http://www.boost.org/LICENSE_1_0.txt) */# include "jam.h"# include "filesys.h"# include "pathsys.h"# ifdef OS_VMS/* * filevms.c - scan directories and libaries on VMS * * External routines: * *	file_dirscan() - scan a directory for files *	file_time() - get timestamp of file, if not done by file_dirscan() *	file_archscan() - scan an archive for files * * File_dirscan() and file_archscan() call back a caller provided function * for each file found.  A flag to this callback function lets file_dirscan() * and file_archscan() indicate that a timestamp is being provided with the * file.   If file_dirscan() or file_archscan() do not provide the file's * timestamp, interested parties may later call file_time(). * * 02/09/95 (seiwald) - bungled R=[xxx] - was using directory length! * 05/03/96 (seiwald) - split into pathvms.c */# include <rms.h># include <iodef.h># include <ssdef.h># include <string.h># include <stdlib.h># include <stdio.h># include <descrip.h>#include <lbrdef.h>#include <credef.h>#include <mhddef.h>#include <lhidef.h>#include <lib$routines.h>#include <starlet.h>/* Supply missing prototypes for lbr$-routines*/#ifdef __cplusplusextern "C" { #endif /* __cplusplus */int lbr$set_module( 	void **,	unsigned long *,	struct dsc$descriptor_s *,	unsigned short *, 	void * );int lbr$open( void **,	struct dsc$descriptor_s *,	void *,	void *, 	void *,	void *,	void * );int lbr$ini_control(	void **,	unsigned long *,	unsigned long *,	void * );int lbr$get_index(	void **,	unsigned long *,	int (*func)( struct dsc$descriptor_s *, unsigned long *),	void * );int lbr$close(	void ** );#ifdef __cplusplus}#endif /* __cplusplus */static voidfile_cvttime(     unsigned int *curtime,    time_t *unixtime ){    static const size_t divisor = 10000000;    static unsigned int bastim[2] = { 0x4BEB4000, 0x007C9567 }; /* 1/1/1970 */    int delta[2], remainder;    lib$subx( curtime, bastim, delta );    lib$ediv( &divisor, delta, unixtime, &remainder );}# define DEFAULT_FILE_SPECIFICATION "[]*.*;0"# define min( a,b ) ((a)<(b)?(a):(b))voidfile_dirscan( 	char *dir,	scanback func,	void	*closure ){    struct FAB xfab;    struct NAM xnam;    struct XABDAT xab;    char esa[256];    char filename[256];    string filename2[1];    char dirname[256];    register int status;    PATHNAME f;    memset( (char *)&f, '\0', sizeof( f ) );    f.f_root.ptr = dir;    f.f_root.len = strlen( dir );	/* get the input file specification	 */    xnam = cc$rms_nam;    xnam.nam$l_esa = esa;    xnam.nam$b_ess = sizeof( esa ) - 1;    xnam.nam$l_rsa = filename;    xnam.nam$b_rss = min( sizeof( filename ) - 1, NAM$C_MAXRSS );    xab = cc$rms_xabdat;                /* initialize extended attributes */    xab.xab$b_cod = XAB$C_DAT;		/* ask for date */    xab.xab$l_nxt = NULL;               /* terminate XAB chain      */    xfab = cc$rms_fab;    xfab.fab$l_dna = DEFAULT_FILE_SPECIFICATION;    xfab.fab$b_dns = sizeof( DEFAULT_FILE_SPECIFICATION ) - 1;    xfab.fab$l_fop = FAB$M_NAM;    xfab.fab$l_fna = dir;			/* address of file name	    */    xfab.fab$b_fns = strlen( dir );		/* length of file name	    */    xfab.fab$l_nam = &xnam;			/* address of NAB block	    */    xfab.fab$l_xab = (char *)&xab;       /* address of XAB block     */    status = sys$parse( &xfab );    if( DEBUG_BINDSCAN )	printf( "scan directory %s\n", dir );    if ( !( status & 1 ) )	return;    /* Add bogus directory for [000000] */    if( !strcmp( dir, "[000000]" ) )    {	(*func)( closure, "[000000]", 1 /* time valid */, 1 /* old but true */ );    }    /* Add bogus directory for [] */    if( !strcmp( dir, "[]" ) )    {	(*func)( closure, "[]", 1 /* time valid */, 1 /* old but true */ );	(*func)( closure, "[-]", 1 /* time valid */, 1 /* old but true */ );    }    string_new( filename2 );    while ( (status = sys$search( &xfab )) & 1 )    {	char *s;	time_t time;	/* "I think that might work" - eml */	sys$open( &xfab );	sys$close( &xfab );	file_cvttime( (unsigned int *)&xab.xab$q_rdt, &time );	filename[xnam.nam$b_rsl] = '\0';	/* What we do with the name depends on the suffix: */	/* .dir is a directory */	/* .xxx is a file with a suffix */	/* . is no suffix at all */	if( xnam.nam$b_type == 4 && !strncmp( xnam.nam$l_type, ".DIR", 4 ) )	{	    /* directory */	    sprintf( dirname, "[.%.*s]", xnam.nam$b_name, xnam.nam$l_name );	    f.f_dir.ptr = dirname;	    f.f_dir.len = strlen( dirname );	    f.f_base.ptr = 0;	    f.f_base.len = 0;	    f.f_suffix.ptr = 0;	    f.f_suffix.len = 0;	}	else	{	    /* normal file with a suffix */	    f.f_dir.ptr = 0;	    f.f_dir.len = 0;	    f.f_base.ptr = xnam.nam$l_name;	    f.f_base.len = xnam.nam$b_name;	    f.f_suffix.ptr = xnam.nam$l_type;	    f.f_suffix.len = xnam.nam$b_type;	}        string_truncate( filename2, 0 );	path_build( &f, filename2, 0 );	/*	if( DEBUG_SEARCH )	    printf("root '%s' base %.*s suf %.*s = %s\n",		    dir,		    xnam.nam$b_name, xnam.nam$l_name, 		    xnam.nam$b_type, xnam.nam$l_type,		    filename2);	*/	(*func)( closure, filename2->value, 1 /* time valid */, time );    }    string_free( filename2 );}    intfile_time(	char	*filename,	time_t	*time ){	/* This should never be called, as all files are */	/* timestampped in file_dirscan() and file_archscan() */	return -1;}static char *VMS_archive = 0;static scanback VMS_func;static void *VMS_closure;static void *context;static intfile_archmember(     struct dsc$descriptor_s *module,    unsigned long *rfa ){    static struct dsc$descriptor_s bufdsc =		  {0, DSC$K_DTYPE_T, DSC$K_CLASS_S, NULL};    struct mhddef *mhd;    char filename[128];    char buf[ MAXJPATH ];    int status;    time_t library_date;    register int i;    register char *p;    bufdsc.dsc$a_pointer = filename;    bufdsc.dsc$w_length = sizeof( filename );    status = lbr$set_module( &context, rfa, &bufdsc,			     &bufdsc.dsc$w_length, NULL );    if ( !(status & 1) )	return ( 1 );    mhd = (struct mhddef *)filename;    file_cvttime( &mhd->mhd$l_datim, &library_date );    for ( i = 0, p = module->dsc$a_pointer; i < module->dsc$w_length; i++, p++ )	filename[i] = *p;    filename[i] = '\0';    sprintf( buf, "%s(%s.obj)", VMS_archive, filename );    (*VMS_func)( VMS_closure, buf, 1 /* time valid */, (time_t)library_date );    return ( 1 );}voidfile_archscan(	char *archive,	scanback func,	void	*closure ){    static struct dsc$descriptor_s library =		  {0, DSC$K_DTYPE_T, DSC$K_CLASS_S, NULL};    unsigned long lfunc = LBR$C_READ;    unsigned long typ = LBR$C_TYP_UNK;    unsigned long index = 1;    register int status;    VMS_archive = archive;    VMS_func = func;    VMS_closure = closure;    status = lbr$ini_control( &context, &lfunc, &typ, NULL );    if ( !( status & 1 ) )	return;    library.dsc$a_pointer = archive;    library.dsc$w_length = strlen( archive );    status = lbr$open( &context, &library, NULL, NULL, NULL, NULL, NULL );    if ( !( status & 1 ) )	return;    (void) lbr$get_index( &context, &index, file_archmember, NULL );    (void) lbr$close( &context );}# endif /* VMS */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区三区在线观看| 97精品久久久午夜一区二区三区| 正在播放亚洲一区| 亚洲成人av在线电影| 欧美日韩高清在线播放| 丝袜国产日韩另类美女| 日韩美女视频一区二区在线观看| 韩国女主播一区二区三区| 欧美激情一区二区三区不卡| 99久久精品国产麻豆演员表| 亚洲国产sm捆绑调教视频| 在线播放91灌醉迷j高跟美女| 美女视频一区在线观看| 久久蜜桃av一区二区天堂| 成人激情免费视频| 午夜不卡av免费| wwwwxxxxx欧美| 91网站视频在线观看| 天堂久久一区二区三区| 久久日韩精品一区二区五区| 91香蕉视频污在线| 奇米精品一区二区三区四区| 国产精品亲子伦对白| 欧美日韩久久一区| 国产精品一区二区在线观看网站| 亚洲精品欧美综合四区| 日韩三级视频在线看| www.亚洲免费av| 日韩不卡手机在线v区| 久久精品人人做| 欧美日韩一区二区三区四区| 国产伦精品一区二区三区免费迷| 亚洲精品国产一区二区三区四区在线| 日韩一区二区三区在线| 99国产精品99久久久久久| 日韩中文欧美在线| 中文字幕在线播放不卡一区| 日韩欧美精品在线| 色久优优欧美色久优优| 国产一区二区免费在线| 午夜精品久久一牛影视| 中文乱码免费一区二区| 欧美一级片在线看| 色噜噜夜夜夜综合网| 国产精品自拍毛片| 美女一区二区三区在线观看| 亚洲精选视频免费看| 久久精品亚洲精品国产欧美| 337p亚洲精品色噜噜噜| 91热门视频在线观看| 国产乱子轮精品视频| 日本亚洲一区二区| 亚洲自拍偷拍图区| 中文字幕亚洲精品在线观看| 日韩欧美一二三| 777午夜精品视频在线播放| 色综合久久综合网欧美综合网| 国产精品资源网| 欧美bbbbb| 日韩激情av在线| 亚洲一区二区高清| 亚洲欧美另类综合偷拍| 亚洲国产精品av| 久久久久久久电影| 2023国产精品自拍| 日韩欧美一区中文| 91精品久久久久久久91蜜桃| 欧美四级电影网| 欧美在线播放高清精品| 99re视频这里只有精品| caoporn国产精品| 大桥未久av一区二区三区中文| 国产在线视视频有精品| 久久99蜜桃精品| 久久国产三级精品| 国产自产高清不卡| 国产一区二区三区免费播放| 久久99热这里只有精品| 激情六月婷婷综合| 国内精品久久久久影院薰衣草| 久久99在线观看| 精品一区二区免费| 国产精品自拍在线| 丁香桃色午夜亚洲一区二区三区| 国产成人午夜精品影院观看视频 | 日韩视频永久免费| 这里只有精品免费| 欧美一区二区三区爱爱| 日韩一级二级三级| 久久青草欧美一区二区三区| 久久久久久久综合日本| 日本一区二区三区四区在线视频 | 18成人在线观看| 亚洲精品国产第一综合99久久| 亚洲乱码日产精品bd| 亚洲成人久久影院| 蜜桃视频在线观看一区| 国产99久久久精品| 色94色欧美sute亚洲13| 欧美日韩另类国产亚洲欧美一级| 欧美一区二区三区在线| 久久久久久久久久久电影| 国产精品入口麻豆九色| 夜夜精品视频一区二区| 日韩二区在线观看| 国产高清不卡一区| 色综合久久九月婷婷色综合| 欧美精三区欧美精三区| 精品国产乱码久久久久久浪潮| 日本一区二区三区电影| 一区二区三区不卡在线观看| 免费在线观看不卡| 成人一级片在线观看| 91国内精品野花午夜精品| 日韩一本二本av| 中文字幕亚洲一区二区va在线| 亚洲大片在线观看| 国产成人在线视频网站| 欧美性大战久久| 久久精品免费在线观看| 一区二区免费在线播放| 精品一区二区成人精品| 91福利社在线观看| 久久久久97国产精华液好用吗| 亚洲精品欧美专区| 国产精品99久| 欧美久久久久久久久中文字幕| 国产日产欧美一区| 日韩国产精品大片| jizzjizzjizz欧美| 日韩欧美电影一区| 亚洲精品五月天| 国产成人精品免费| 91精品综合久久久久久| 亚洲欧美日韩人成在线播放| 久久97超碰国产精品超碰| 日本韩国一区二区| 欧美激情在线免费观看| 青青青伊人色综合久久| 91久久线看在观草草青青| 国产无一区二区| 久久福利资源站| 欧美日韩一区不卡| 亚洲欧美日韩中文字幕一区二区三区| 久久电影网站中文字幕 | 日韩精品一区二区在线观看| 亚洲综合一区二区精品导航| 国产成人av一区二区三区在线| 欧美一区二区三区男人的天堂| 亚洲另类色综合网站| 成人手机电影网| 2023国产精品视频| 老司机精品视频导航| 欧美日韩国产欧美日美国产精品| 亚洲日本青草视频在线怡红院 | 欧美色爱综合网| 亚洲黄色av一区| 91蜜桃在线免费视频| 国产婷婷一区二区| 经典三级视频一区| 日韩欧美亚洲国产精品字幕久久久| 亚洲成人第一页| 欧美丝袜丝nylons| 亚洲国产中文字幕| 欧美亚洲国产bt| 亚洲福利一区二区三区| 91久久国产最好的精华液| 亚洲日本韩国一区| 色婷婷激情综合| 亚洲激情男女视频| 欧美日韩一区二区三区四区五区| 亚洲最新视频在线观看| 欧美综合久久久| 亚洲国产wwwccc36天堂| 欧美日韩免费一区二区三区| 亚洲一级二级在线| 欧美挠脚心视频网站| 免费成人结看片| 精品少妇一区二区三区日产乱码 | 欧美精选一区二区| 天堂影院一区二区| 日韩久久精品一区| 国产在线精品一区二区夜色| 久久精品水蜜桃av综合天堂| 国产成人啪午夜精品网站男同| 中文字幕精品—区二区四季| 成人毛片视频在线观看| 伊人夜夜躁av伊人久久| 欧美人与禽zozo性伦| 美腿丝袜亚洲色图| 国产色综合一区| 91在线视频在线| 午夜天堂影视香蕉久久| 欧美一卡二卡三卡四卡| 国产一级精品在线| 亚洲精品视频在线看| 91精品久久久久久久91蜜桃| 国产精品69毛片高清亚洲| 综合电影一区二区三区 | 亚洲精品一区二区三区精华液|