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

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

?? epr_dsd.c

?? Insar圖像處理軟件
?? C
?? 第 1 頁 / 共 2 頁
字號:
/* * $Id: epr_dsd.c,v 1.2 2003/03/21 16:08:08 norman Exp $ * * Copyright (C) 2002 by Brockmann Consult (info@brockmann-consult.de) * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the * Free Software Foundation. This program is distributed in the hope it will * be useful, but WITHOUT ANY WARRANTY; without even the implied warranty * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. * See the GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA. */#include <assert.h>#include <errno.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include "epr_api.h"#include "epr_core.h"#include "epr_string.h"#include "epr_ptrarray.h"#include "epr_swap.h"#include "epr_field.h"#include "epr_record.h"#include "epr_param.h"#include "epr_dsd.h"#include "epr_msph.h"#include "epr_band.h"#include "epr_bitmask.h"#include "epr_dddb.h"/** * Opens dsd for a dataset description,  * obtained from an ENVISAT product file. * * @param dsd_index the number of dsd (zero-based), emrty dsd inclusive * * @return the the pointer at the dsd information. */EPR_SDSD* epr_create_dsd(int dsd_index){    EPR_SDSD* dsd;    dsd = (EPR_SDSD*) calloc(1, sizeof (EPR_SDSD));    if (dsd == NULL) {        epr_set_err(e_err_out_of_memory,                     "epr_create_dsd: out of memory");        return NULL;    }    dsd->index = dsd_index;    return dsd;}uint epr_get_num_datasets(EPR_SProductId* product_id){    epr_clear_err();    if (product_id == NULL) {            epr_set_err(e_err_null_pointer,                     "epr_get_num_datasets: product_id must not be NULL");        return (uint)-1;    }    return product_id->dataset_ids->length;}EPR_SDatasetId* epr_get_dataset_id_at(EPR_SProductId* product_id, uint index){    EPR_SDatasetId* dataset_id = NULL;    epr_clear_err();    if (product_id == NULL) {            epr_set_err(e_err_null_pointer,                     "epr_get_dataset_id_at: product_id must not be NULL");        return NULL;    }    if (index >= product_id->dataset_ids->length){        epr_set_err(e_err_index_out_of_range,                     "epr_get_dataset_id_at: dataset index out of range");        return NULL;    }    dataset_id = (EPR_SDatasetId*)epr_get_ptr_array_elem_at(product_id->dataset_ids, index);    return dataset_id;}EPR_SDatasetId* epr_get_dataset_id(EPR_SProductId* product_id, const char* dataset_name){    EPR_SDatasetId* dataset_id = NULL;    int datasets_num, i;    epr_clear_err();    if (product_id == NULL) {            epr_set_err(e_err_null_pointer,                     "epr_get_dataset_id: product_id must not be NULL");        return NULL;    }    if (dataset_name == NULL) {            epr_set_err(e_err_null_pointer,                     "epr_get_dataset_id: dataset_name must not be NULL");        return NULL;    }    datasets_num = epr_get_num_datasets(product_id);    for (i = 0; i < datasets_num; i ++) {			dataset_id = epr_get_dataset_id_at(product_id, i);        if (epr_equal_names(dataset_name, epr_get_dataset_name(dataset_id)))             return dataset_id;	}    epr_set_err(e_err_invalid_band_name,                 "epr_get_dataset_id: dataset_id not found");    return NULL;}int epr_detect_meris_iodd_version(EPR_SProductId* product_id){	EPR_SDSD** elems;	int size = 0;	int rec_size = 0;	int i;	char* name;    if (strncmp("MER_RR__1P", product_id->id_string, 10) == 0		|| strncmp("MER_FR__1P", product_id->id_string, 10) == 0) {		elems = (EPR_SDSD**)product_id->dsd_array->elems;		size = product_id->dsd_array->length;		for (i=0; i< size;i++){				name = elems[i]->ds_name;			if (strcmp("Flags MDS(16)", name) == 0) {				rec_size = elems[i]->dsr_size;				break;			}		}	}	if (rec_size == 2255 || rec_size == 4495) {		return 5;	} else if (rec_size == 3376 || rec_size == 6736) {		return 6;	} else {		return 6;	}/*    EPR_SDatasetId*  dataset_id = NULL;    if (strncmp("MER_RR__1P", product_id->id_string, 10) == 0){	    dataset_id = epr_get_dataset_id(product_id, "Flags");	    switch (dataset_id->dsd->dsr_size) {        case (2255) :          return 5;        case (3376)  :          return 6;        default:          return -1;		}    } else if (strncmp("MER_FR__1P", product_id->id_string, 10) == 0){	    dataset_id = epr_get_dataset_id(product_id, "Flags");	    switch (dataset_id->dsd->dsr_size) {        case (4495) :          return 5;        case (6736)  :          return 6;        default:          return -1;		}    } else		return 6; */}/** * Release the memory allocated through a dataset ID. *  * @param dsd the dataset description identifier, if <code>NULL</code> the function *        immediately returns zero. * @return zero for success, an error code otherwise */void epr_free_dsd(EPR_SDSD* dsd){    if (dsd == NULL)         return;    epr_free_string(dsd->ds_name);    dsd->ds_name   = NULL;    epr_free_string(dsd->ds_type);    dsd->ds_type   = NULL;    epr_free_string(dsd->filename);    dsd->filename  = NULL;    dsd->index = 0;    dsd->ds_offset = 0;    dsd->ds_size   = 0;    dsd->num_dsr   = 0;    dsd->dsr_size  = 0;    free(dsd);}#define EPR_LENGTH_DS_NAME_IDENTIFIER      9#define EPR_LENGTH_DS_TYPE_IDENTIFIER      8#define EPR_LENGTH_FILENAME_IDENTIFIER    10#define EPR_LENGTH_DS_OFFSEN_IDENTIFIER   11#define EPR_LENGTH_DS_SIZE_IDENTIFIER      9#define EPR_LENGTH_NUM_DSR_IDENTIFIER      9#define EPR_LENGTH_DSR_SIZE_IDENTIFIER    10#define EPR_LENGTH_DS_NAME_FIELD          39#define EPR_LENGTH_DS_TYPE_FIELD          10#define EPR_LENGTH_DS_FILENAME_FIELD      74#define EPR_LENGTH_DS_OFFSEN_FIELD        39#define EPR_LENGTH_DS_SIZE_FIELD          37#define EPR_LENGTH_NUM_DSR_FIELD          20#define EPR_LENGTH_DSR_SIZE_FIELD         28#define EPR_LENGTH_EMPTY_FIELD            33/** * Reads a dataset description from an ENVISAT product file.  *  * @param envisat_source_file the handle of the given ENVISAT product file, *        must not be <code>NULL</code> * @param pos number of the dataset description in ENVISAT product file, * @return a new dataset description or <code>NULL</code> if an error occured. */EPR_SDSD* epr_read_each_dsd(FILE* envisat_source_file, int* pos){    uint l;    uint l_limit;    char code_block[EPR_LINE_MAX_LENGTH];    EPR_SDSD* dsd;    int  ch = '"';    char* tmp;    if (envisat_source_file == NULL)    {            epr_set_err(e_err_file_access_denied,                     "epr_read_each_dsd: the product file handle must not be NULL");        return NULL;    }    dsd = (EPR_SDSD*) calloc(1, sizeof (EPR_SDSD));    if (dsd == NULL)     {        epr_set_err(e_err_out_of_memory,                     "epr_read_each_dsd: out of memory");        return NULL;    }    if (* pos == 0)    {        l_limit = 9999;    }    else l_limit = 0;        for (l = 0; l <= l_limit; l++)     {        fgets(code_block, EPR_LINE_MAX_LENGTH, envisat_source_file);        if (strncmp (code_block, "DS_NAME=\"", EPR_LENGTH_DS_NAME_IDENTIFIER) == 0)        {            /* DS_NAME to be searched for */            if (((uint)strlen(code_block) != (uint)(EPR_LENGTH_DS_NAME_FIELD)) || ((uint)(strrchr(code_block, ch) - code_block) != (uint)(strlen(code_block) - 2)))            {                epr_set_err(e_err_invalid_data_format,                             "epr_read_each_dsd: invalid dataset name format");                epr_free_dsd(dsd);                return NULL;            }            dsd->ds_name = epr_sub_string(code_block, EPR_LENGTH_DS_NAME_IDENTIFIER, strlen(code_block) - EPR_LENGTH_DS_NAME_IDENTIFIER - 2);            if (dsd->ds_name == NULL)            {                epr_set_err(e_err_invalid_value,                            "epr_read_each_dsd: invalid DS_NAME value");                epr_free_dsd(dsd);                return NULL;            }            /* DS_TYPE to be searched for */            fgets(code_block, EPR_LINE_MAX_LENGTH, envisat_source_file);            if (strncmp (code_block, "DS_TYPE=", EPR_LENGTH_DS_TYPE_IDENTIFIER) == 0)            {                dsd->ds_type = epr_sub_string(code_block, EPR_LENGTH_DS_TYPE_IDENTIFIER, strlen(code_block) - EPR_LENGTH_DS_TYPE_IDENTIFIER - 1);                if (dsd->ds_type == NULL)                {                    epr_set_err(e_err_invalid_value,                                "epr_read_each_dsd: invalid DS_TYPE value");                    epr_free_dsd(dsd);                    return NULL;                }            }            /* FILENAME to be searched for */            fgets(code_block, EPR_LINE_MAX_LENGTH, envisat_source_file);            if (strncmp (code_block, "FILENAME=\"", EPR_LENGTH_FILENAME_IDENTIFIER) == 0)            {                if (((uint)strlen(code_block) != (uint)(EPR_LENGTH_DS_FILENAME_FIELD)) || ((uint)(strrchr(code_block, ch) - code_block) != (uint)(strlen(code_block) - 2)))                {                    epr_set_err(e_err_invalid_data_format,                                 "epr_read_each_dsd: invalid dataset filename format");                    epr_free_dsd(dsd);                    return NULL;                }                dsd->filename = epr_sub_string(code_block, EPR_LENGTH_FILENAME_IDENTIFIER, strlen(code_block) - EPR_LENGTH_FILENAME_IDENTIFIER - 1);                if (dsd->ds_name == NULL)                {

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
樱桃国产成人精品视频| 成人高清伦理免费影院在线观看| 免费观看在线色综合| 国产成人精品免费视频网站| 欧美色图片你懂的| 日本一区二区三区高清不卡| 日韩av在线免费观看不卡| 成人午夜碰碰视频| 精品人在线二区三区| 亚洲国产精品一区二区久久 | 久久久九九九九| 亚洲亚洲精品在线观看| www.欧美日韩| 国产日韩欧美精品在线| 欧美aaaaaa午夜精品| 欧美日韩一区二区在线观看| 国产精品的网站| 国产高清久久久| 欧美变态tickle挠乳网站| 性做久久久久久久免费看| 色悠久久久久综合欧美99| 中文字幕国产一区| 国产成人精品亚洲777人妖| 欧美va亚洲va在线观看蝴蝶网| 五月综合激情日本mⅴ| 欧美综合天天夜夜久久| 亚洲美女电影在线| 一本色道久久综合亚洲aⅴ蜜桃| 国产午夜三级一区二区三| 老司机精品视频一区二区三区| 在线成人av影院| 日韩专区一卡二卡| 欧美日韩的一区二区| 午夜精品久久久久久久久久| 在线免费不卡电影| 亚洲国产成人av网| 欧美剧情片在线观看| 日韩电影免费一区| 精品国产91乱码一区二区三区| 久久草av在线| 久久精品亚洲精品国产欧美 | 白白色亚洲国产精品| 国产精品久久夜| 国产成人免费在线视频| 国产亚洲人成网站| 99麻豆久久久国产精品免费| 亚洲免费av在线| 欧美午夜精品一区二区三区| 亚洲成人一区二区在线观看| 56国语精品自产拍在线观看| 美女视频一区二区| 国产欧美精品日韩区二区麻豆天美| 国产大陆a不卡| 成人欧美一区二区三区1314| 色婷婷亚洲精品| 日韩制服丝袜先锋影音| 久久亚区不卡日本| eeuss鲁一区二区三区| 亚洲国产精品视频| 精品国产在天天线2019| 不卡一区二区中文字幕| 亚洲一区二区三区四区在线观看| 欧美人伦禁忌dvd放荡欲情| 国产在线精品一区二区不卡了 | 国产a区久久久| 亚洲免费观看高清完整版在线观看 | 在线日韩av片| 麻豆91在线播放免费| 国产精品另类一区| 欧美午夜精品电影| 国产精品自拍毛片| 亚洲小说欧美激情另类| 久久人人97超碰com| 欧美亚洲日本一区| 国产福利一区二区三区| 亚洲在线视频网站| 国产视频一区在线观看| 欧美日本韩国一区二区三区视频| 国产毛片一区二区| 亚洲成人黄色小说| 国产精品久久三区| 精品国产乱码久久久久久老虎| 成人免费毛片高清视频| 日本视频在线一区| 亚洲一区二区三区四区不卡| 久久久夜色精品亚洲| 欧美久久一二区| 日本国产一区二区| 国v精品久久久网| 捆绑调教一区二区三区| 亚洲精品国产a| 久久精品人人做人人综合| 欧美日韩国产高清一区二区| 99在线精品一区二区三区| 国产呦萝稀缺另类资源| 日韩福利视频网| 一区二区三区免费在线观看| 国产精品三级av| 亚洲香蕉伊在人在线观| 亚洲视频香蕉人妖| 亚洲国产高清在线| 久久精品日产第一区二区三区高清版| 欧美日韩综合在线| 日本国产一区二区| 色噜噜狠狠色综合中国| 成人高清视频在线| 粉嫩欧美一区二区三区高清影视| 久久精品国产99国产精品| 日韩电影免费在线| 美国十次综合导航| 轻轻草成人在线| 天堂午夜影视日韩欧美一区二区| 玉足女爽爽91| 一区二区欧美视频| 亚洲一区二区三区视频在线| 亚洲美女少妇撒尿| 亚洲一区二区成人在线观看| 亚洲美女视频在线观看| 一二三区精品视频| 亚洲一区免费视频| 午夜日韩在线电影| 日本免费在线视频不卡一不卡二| 日韩精品乱码av一区二区| 人禽交欧美网站| 激情综合色播激情啊| 国产在线播精品第三| 成人av电影免费观看| 色狠狠色噜噜噜综合网| 欧美三级电影在线看| 在线播放中文字幕一区| 精品久久一区二区| 国产丝袜在线精品| 亚洲欧美综合色| 亚洲高清视频在线| 日本欧美一区二区三区乱码| 另类专区欧美蜜桃臀第一页| 国产一区二区久久| 色婷婷综合久久久久中文一区二区 | 欧美日韩在线直播| 欧美成人官网二区| 国产精品久久久久7777按摩| 一区二区三区精品久久久| 日韩福利电影在线| 成人毛片视频在线观看| 91福利资源站| 337p日本欧洲亚洲大胆色噜噜| 国产精品久久久一本精品 | 国产精品久久久久久久第一福利| 一区二区三区免费| 精品一区二区日韩| 成人午夜激情在线| 7777女厕盗摄久久久| 国产欧美一区二区精品性色| 亚洲理论在线观看| 久久99精品久久久久久国产越南 | 亚洲精品成a人| 蜜桃视频一区二区三区| 成人av网址在线观看| 欧美一区二区三区播放老司机| 国产日产欧产精品推荐色| 天天av天天翘天天综合网色鬼国产 | 性做久久久久久免费观看欧美| 国产乱码一区二区三区| 欧美午夜视频网站| 国产精品麻豆一区二区| 老司机精品视频线观看86| 91视频精品在这里| 欧美一区二区女人| 悠悠色在线精品| 成人免费黄色大片| 日韩欧美123| 亚洲影视在线播放| 9色porny自拍视频一区二区| 欧美r级在线观看| 亚洲观看高清完整版在线观看| 高清av一区二区| 精品国产伦一区二区三区观看方式 | 国产亚洲一二三区| 视频精品一区二区| 91黄色免费版| 中文字幕久久午夜不卡| 麻豆久久久久久| 91精品综合久久久久久| 亚洲国产视频一区二区| 91在线看国产| 国产精品麻豆视频| 国产精品18久久久久久久久久久久| 欧美老肥妇做.爰bbww| 亚洲卡通欧美制服中文| 波多野结衣亚洲| 国产精品欧美极品| 懂色av中文一区二区三区| 2欧美一区二区三区在线观看视频| 图片区小说区国产精品视频| 欧美色综合影院| 亚洲在线观看免费视频| 欧洲另类一二三四区| 一区二区三区免费在线观看| 91精品办公室少妇高潮对白| 亚洲乱码国产乱码精品精的特点 |