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

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

?? parse_52.c

?? gsac程序包
?? C
字號:
/*===========================================================================*//* SEED reader     |               parse_type52              |  station header *//*===========================================================================*//*	Name:		parse_type52	Purpose:	parse a channel id (type 52) blockette into a globally-available				table	Usage:		void parse_type52 ();				char *blockette;				parse_type52 (blockette);	Input:		blockette = pointer to beginning of blockette	Output:		none	Externals:	temp_char				type52_head - 1st entry in table; defined in structures.h,					allocated in globals.h	Warnings:	none	Errors:		none	Called by:	process_stationh	Calls to:	parse_int - get an integer from a blockette 			parse_long - get a long integer from a blockette 			parse_double - get a double from a blockette 			parse_nchar - get a fixed-length string from a blockette 			parse_varlstr - get a variable-length string from a blockette	Algorithm:	parse the blockette into a globally-available table	Notes:		none	Problems:	none known	References:	Halbert et al, 1988; see main routine	Language:	C, hopefully ANSI standard	Author:		Dennis O'Neill	Revisions:	07/15/88  Dennis O'Neill  Initial preliminary release 0.9			11/04/88  Dennis O'Neill  replaced "~" by STRINGTERM in				                          parse_varlstr calls			11/21/88  Dennis O'Neill  Production release 1.0			08/19/89  Dennis O'Neill  streamlined linked list construction			09/17/89  Dennis O'Neill  removed number_ch_comments			04/12/95  Cl - changed allocation and saving of struct 				  	till the end, only save if selected 					channel.			02/08/96  CL - added orientation code to channel name if				   	multiplexed data*/#include "rdseed.h"extern int ignore_net_codes;    /* set in "main" -rdseed.c */static struct type52 type52;int parse_type52 (blockette)char *blockette;								/* ptr to start of blockette */{	char *blockette_ptr;		/* ptr to inside blockette */	struct type52 *type52_ptr;	/* genl member of table */	struct time chn_start_struct;        struct time chn_end_struct;		/* point to beginning of information, past type and length */	blockette_ptr = blockette;	blockette_ptr += 7;/*                 +=======================================+                 *//*=================|   recover information from the type52   |=================*//*                 +=======================================+                 */	/* recover location identifier */	type52.location = parse_nchar (&blockette_ptr, 2);	/* recover channel identifier */	type52.channel = parse_nchar (&blockette_ptr, 3);	/* recover subchannel identifier (for multiplexing) */	type52.subchannel = parse_int (&blockette_ptr, 4);	/* recover index for instrument ident in dictionary */	type52.instrument_code = parse_int (&blockette_ptr, 3);	/* recover optional instrument comment */	if (*blockette_ptr != '~')		type52.inst_comment = parse_varlstr (&blockette_ptr, STRINGTERM);	else	{		type52.inst_comment = NULL;		blockette_ptr += 1;	}	/* recover index for signal units in dictionary */	type52.signal_units_code = parse_int (&blockette_ptr, 3);	/* recover index for calibration units in dictionary */	type52.calib_units_code = parse_int (&blockette_ptr, 3);	/* recover latitude */	type52.latitude = parse_double (&blockette_ptr, 10);	/* recover longitude */	type52.longitude = parse_double (&blockette_ptr, 11);	/* recover elevation */	type52.elevation = parse_double (&blockette_ptr, 7);	/* recover local depth */	type52.local_depth = parse_double (&blockette_ptr, 5);	/* recover azimuth */	type52.azimuth = parse_double (&blockette_ptr, 5);	/* recover dip */	type52.dip = parse_double (&blockette_ptr, 5);	/* recover data format id lookup code */	type52.format_code = parse_int (&blockette_ptr, 4);	/* recover log2 of data record length */	type52.log2drecl = parse_int (&blockette_ptr, 2);	/* recover sample rate */	type52.samplerate = parse_double (&blockette_ptr, 10);	/* recover maximum clock drift tolerance */	type52.clock_tolerance = parse_double (&blockette_ptr, 10);	/* recover number of channel comment blockettes - old spec, reserved */	/* type52.number_ch_comments = parse_int (&blockette_ptr, 4); */	type52.reserved1 = parse_int (&blockette_ptr, 4);	/* recover channel flags, if any */	if (*blockette_ptr != '~')		type52.channel_flag = parse_varlstr (&blockette_ptr, STRINGTERM);	else blockette_ptr += 1;	/* recover effective start date */	type52.start = parse_varlstr (&blockette_ptr, STRINGTERM);	/* recover effective end date, if any */	if (*blockette_ptr != '~')		type52.end = parse_varlstr (&blockette_ptr, STRINGTERM);	else	{		blockette_ptr += 1;		type52.end = NULL;	}        /* check start/end effective if entered by user */        timecvt(&chn_start_struct, type52.start);	if (type52.end == NULL)	{		chn_end_struct.year = 9999;	}	else        	timecvt(&chn_end_struct, type52.end);       	if (!chk_time(chn_start_struct, chn_end_struct))                return 0;	/* recover update flag */	type52.update = parse_nchar (&blockette_ptr, 1);	/* initialize the pointer for the first of each of several elements */	type52.response_head = NULL;	type52.response_tail = NULL;	type52.type59_head = NULL;	type52.type59_tail = NULL;	type52.channel_update = NULL;/*                 +=======================================+                 *//*=================|link the type52 into the type50 table  |=================*//*                 +=======================================+                 *//* 1st, if multiplexed data, add the orientation code */	if (type52.subchannel > 0)	{		type52.channel[2] = determine_orient_code(&type52); 		type52.channel[3] = 0;	}	type52_ptr = (struct type52 *)alloc_linklist_element(sizeof(type52), "parse_type52");        memcpy((char *)type52_ptr, (char *)&type52, sizeof(struct type52));        append_linklist_element(type52_ptr,                    current_station->type52_head,                    current_station->type52_tail);        current_channel = type52_ptr;	return 1;}/* ------------------------------------------------------------------- */#define WITHIN(t, s, e) ((timecmp(t, s) >= 0) && (timecmp(t, e) <= 0))int tag_channel_rec(stn, net, b52)char *stn;char *net;struct type52 *b52;{	struct type50 *p;        struct time stn_start, stn_end;   /* response effective times */	struct time chn_start;	struct time chn_end;	struct type52 *c_ptr, *sav_ptr;       	timecvt(&chn_start, type52.start);	timecvt(&chn_end, type52.end);	if(type52.end == 0)		chn_end.year = 9999;		sav_ptr = 0;	for (p = type50_head; p != NULL;p = p->next)        {                if (strcmp(p->station, stn) != 0)                        continue;                if (type10.version >= 2.3)                {                        /* check to make sure there is network code,                         * as blank network code on disk, turns out as a NULL string                         */                        if (p->network_code && (!ignore_net_codes))                                if (strcmp( p->network_code, net) != 0)                                        continue;                }                /* convert station time (YYYY,DDD,....) to struct */                timecvt(&stn_start, p->start);                timecvt(&stn_end, p->end);                if (p->end == 0)                        stn_end.year = 9999;                 /* do time check */                if (WITHIN(chn_start, stn_start, stn_end) ||		 	WITHIN(chn_end, stn_start, stn_end))		{        			c_ptr = (struct type52 *)alloc_linklist_element(sizeof(type52), "parse_type52");        		memcpy((char *)c_ptr, (char *)b52, 						sizeof(struct type52));	        		append_linklist_element(c_ptr,                    		p->type52_head,                    		p->type52_tail);			sav_ptr = c_ptr;			current_channel = c_ptr;		}                              	}	/* tag onto all station records if appropiate */	if (sav_ptr == 0)	{		fprintf(stderr,"WARNING - parse_type52: unable to find channel %s's station record! Check effective times.\n", type52.channel);		fprintf(stderr, "Current station/net: %s/%s\n",                                        current_station->station,                                        current_station->network_code ?                                        current_station->network_code : "N/A");   /* dump effective times to screen for visual feedback */		dump_station_effective(current_station->station, 				current_station->network_code);               	fprintf(stderr, "\tchannel %s effective start/stop times:\n\t\t%s / %s\n",                                b52->channel,                                b52->start,                                b52->end);		fprintf(stderr, "Ignoring effective times\n"); 		c_ptr = (struct type52 *)alloc_linklist_element(sizeof(type52), "parse_type52");        	memcpy((char *)c_ptr, (char *)b52, sizeof(struct type52));	        	append_linklist_element(c_ptr,                    			current_station->type52_head,                    			current_station->type52_tail);         	current_channel = c_ptr;		}}/* ------------------------------------------------------------------- */int dump_stn_chn_recs(){        struct type50 *p;        struct type52 *c;printf("----------------------\n");        for (p = type50_head; p != NULL;p = p->next)        {		printf("Station start=%s  ---- End=%s\n",			p->start, p->end);		for (c = p->type52_head; c != NULL; c = c->next)			printf("\tChannel %s start=%s ---- End=%s\n\n",				c->channel, c->start, c->end);		printf("\n\n");			}	printf("------------------------\n");}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.在线成人| 青草国产精品久久久久久| 精品亚洲免费视频| 日韩精品一区二区三区四区视频| 蜜桃精品在线观看| 2023国产精品| 国产成a人无v码亚洲福利| 中文字幕在线不卡一区二区三区| 色综合天天做天天爱| 亚洲一区二区三区三| 911精品国产一区二区在线| 日本不卡在线视频| 久久久久高清精品| 99九九99九九九视频精品| 亚洲免费观看在线视频| 6080午夜不卡| 国产精品小仙女| 亚洲欧美偷拍卡通变态| 欧美日韩一区二区在线视频| 精品在线观看免费| 中文字幕不卡在线播放| 欧美视频一区二区三区四区| 奇米影视在线99精品| 国产清纯白嫩初高生在线观看91 | 亚洲1区2区3区4区| 欧美大片一区二区三区| 懂色一区二区三区免费观看| 亚洲资源在线观看| 久久久夜色精品亚洲| 91免费观看视频在线| 日本中文字幕一区二区视频| 欧美激情在线一区二区三区| 欧美人成免费网站| 国产精品99久久久| 亚洲一卡二卡三卡四卡| 国产视频亚洲色图| 欧美影片第一页| 成人综合在线观看| 天天色图综合网| 中文字幕一区二区三区四区 | 日韩经典一区二区| 欧美国产亚洲另类动漫| 在线成人午夜影院| 91视频一区二区| 国产乱国产乱300精品| 亚洲国产wwwccc36天堂| 亚洲国产精品激情在线观看| 欧美色图第一页| aaa欧美日韩| 国产精品99久| 视频在线观看一区二区三区| 亚洲精品午夜久久久| 久久九九久久九九| 日韩午夜小视频| 欧美丝袜丝交足nylons| 大胆亚洲人体视频| 极品美女销魂一区二区三区| 日本三级亚洲精品| 一区二区成人在线观看| 中文字幕日韩精品一区| 久久色.com| 精品成人私密视频| 日韩精品自拍偷拍| 欧美日韩日日骚| 色88888久久久久久影院野外 | 91免费视频大全| 国产成人精品一区二| 国产综合色精品一区二区三区| 丝袜美腿亚洲一区| 亚洲一二三四在线观看| 中文字幕日韩一区二区| 国产精品素人一区二区| 久久欧美一区二区| 精品日本一线二线三线不卡| 日韩一区二区麻豆国产| 欧美日韩aaa| 欧美一区日本一区韩国一区| 欧美久久久久久久久中文字幕| 在线观看免费亚洲| 欧美色综合影院| 欧美精品久久99| 91精品国产91久久久久久最新毛片| 欧美日韩电影在线| 欧美一区二区视频观看视频| 欧美一级电影网站| 日韩精品中文字幕在线一区| 精品国产区一区| 日本一区二区三区高清不卡| 国产欧美一区二区精品秋霞影院| 欧美国产日本视频| 亚洲三级免费观看| 一区二区三区欧美在线观看| 亚洲第一搞黄网站| 日韩精品91亚洲二区在线观看| 麻豆精品国产91久久久久久| 国产一区二区三区四区五区入口| 国产传媒日韩欧美成人| 99久久久久免费精品国产| 欧洲av一区二区嗯嗯嗯啊| 欧美精品久久99| 国产亚洲精品7777| 亚洲人成精品久久久久久| 亚洲图片有声小说| 激情综合色丁香一区二区| 国产精品 日产精品 欧美精品| 99精品欧美一区二区三区综合在线| 在线观看成人小视频| 日韩三区在线观看| 国产精品美女久久久久久久网站| 一区二区三区在线视频免费| 日本大胆欧美人术艺术动态| 风间由美一区二区av101| 在线国产电影不卡| 国产精品福利一区| 综合网在线视频| 日本中文字幕一区二区有限公司| 国产精品一二二区| 欧美制服丝袜第一页| 欧美哺乳videos| 亚洲啪啪综合av一区二区三区| 亚洲国产视频一区二区| 久久成人免费网站| 91在线porny国产在线看| 欧美精品v日韩精品v韩国精品v| 国产校园另类小说区| 亚洲一区二区三区在线播放| 韩国成人精品a∨在线观看| 色屁屁一区二区| 久久久一区二区三区捆绑**| 亚洲成精国产精品女| 成人午夜又粗又硬又大| 欧美日韩亚洲不卡| 国产精品欧美一区二区三区| 强制捆绑调教一区二区| 91麻豆国产精品久久| 欧美一二三四区在线| 亚洲男人电影天堂| 国产成人免费在线| 91.麻豆视频| 亚洲色图欧洲色图婷婷| 狠狠v欧美v日韩v亚洲ⅴ| 欧美日韩日本视频| 日韩毛片精品高清免费| 国产精品538一区二区在线| 欧美日韩精品综合在线| 亚洲三级在线播放| 丁香婷婷综合激情五月色| 欧美一区二区三区免费观看视频 | 欧美亚洲禁片免费| 国产精品嫩草久久久久| 精品一区精品二区高清| 欧美久久久一区| 亚洲综合成人在线| 91免费看视频| 亚洲天堂福利av| heyzo一本久久综合| 欧美精品一区二区三区四区| 久久综合综合久久综合| 欧美精品tushy高清| 亚洲va欧美va人人爽| 欧美三级在线播放| 亚洲在线中文字幕| 在线亚洲一区观看| 亚洲精品视频一区二区| 99久久精品国产麻豆演员表| 日本一区二区三区四区 | 国产精品美女视频| 丁香天五香天堂综合| 国产精品嫩草影院com| 成人av网站免费观看| 亚洲国产成人在线| 成人av网站在线观看免费| 中文字幕在线观看一区二区| av不卡免费电影| 亚洲欧美福利一区二区| 91美女蜜桃在线| 亚洲地区一二三色| 在线观看91精品国产麻豆| 日韩不卡一区二区三区| 日韩欧美一二三四区| 国产一区二三区| 亚洲国产精品精华液ab| 99久久综合精品| 悠悠色在线精品| 欧美色倩网站大全免费| 免费国产亚洲视频| 久久精品亚洲乱码伦伦中文| 成人一级视频在线观看| 日韩一区在线播放| 欧美综合天天夜夜久久| 日本在线播放一区二区三区| 久久免费精品国产久精品久久久久| 国产成人免费视频网站| 亚洲激情在线播放| 555www色欧美视频| 国产一二三精品| 亚洲最大成人综合| 欧美一区二区久久久| 国产成人av影院| 亚洲图片自拍偷拍|