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

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

?? mopen.c

?? 支持各種柵格圖像和矢量圖像讀取的庫
?? C
字號:
/*******************************************************//*	FUNCTIE   MOPEN.C	                       *//*******************************************************//*******************************************************/#include <string.h>#include "csf.h"#include "csfimpl.h"static const char *openModes[3] = {	S_READ,	S_WRITE,	S_READ_WRITE	};/* Return the access mode of m * MopenPerm returns the permission. * Note that M_WRITE is deprecated */enum MOPEN_PERM MopenPerm(	const MAP *m){ return m->fileAccessMode;}/* open an existing CSF file * Mopen opens a CSF file. It allocates space for * the MAP runtime-structure, reads the header file * and performs test to determine if it is a CSF file. * The MinMaxStatus is set to MM_KEEPTRACK if the min/max * header fields are not MV or MM_WRONGVALUE if one of them * contains a MV. * returns a pointer the MAP runtime structure if the file is * successfully opened as a CSF file, NULL if not. * * Merrno * NOCORE BADACCESMODE OPENFAILED NOT_CSF BAD_VERSION * * EXAMPLE * .so examples/testcsf.tr */MAP  *Mopen(	const char *fileName, /* file name */	enum MOPEN_PERM mode) /*  file permission */{ MAP *m; UINT4 s; /* swap detection field */  if (! CsfIsBootedCsfKernel()) 	CsfBootCsfKernel();  m = (MAP *)CSF_MALLOC(sizeof(MAP));  if (m == NULL) { 	M_ERROR(NOCORE); 	goto error_mapMalloc; }  m->fileName = (char *)CSF_MALLOC(strlen(fileName)+1); if (m->fileName == NULL) { 	M_ERROR(NOCORE); 	goto error_fnameMalloc; } (void)strcpy(m->fileName,fileName);  /* check file mode validation */ if ( IS_BAD_ACCESS_MODE(mode)) { 	M_ERROR(BADACCESMODE); 	goto error_notOpen; } m->fileAccessMode = mode;   /*  check if file can be opened or exists */ m->fp = fopen(fileName, openModes[mode-1]); if (m->fp == NULL) { 	M_ERROR(OPENFAILED); 	goto error_notOpen; }  /*  check if file could be C.S.F.-file   *   (at least 256 bytes long)   *  otherwise the signature comparison will  *  fail  */  (void)fseek(m->fp,0L, SEEK_END); if (ftell(m->fp) < (long)ADDR_DATA) { 	M_ERROR(NOT_CSF); 	goto error_open; } (void)fseek(m->fp, 14+CSF_SIG_SPACE, SEEK_SET); (void)fread((void *)&s, sizeof(UINT4),(size_t)1,m->fp); if (s != ORD_OK) {	m->write = CsfWriteSwapped;	m->read  = CsfReadSwapped; } else {#ifdef DEBUG	m->read  = (CSF_READ_FUNC)CsfReadPlain;	m->write = (CSF_READ_FUNC)CsfWritePlain;#else	m->read  = (CSF_READ_FUNC)fread;	m->write = (CSF_READ_FUNC)fwrite;#endif }  (void)fseek(m->fp, ADDR_MAIN_HEADER, SEEK_SET); m->read((void *)&(m->main.signature), sizeof(char), CSF_SIG_SPACE,m->fp); m->read((void *)&(m->main.version),   sizeof(UINT2),(size_t)1,m->fp); m->read((void *)&(m->main.gisFileId), sizeof(UINT4),(size_t)1,m->fp); m->read((void *)&(m->main.projection),sizeof(UINT2),(size_t)1,m->fp); m->read((void *)&(m->main.attrTable), sizeof(UINT4),(size_t)1,m->fp); m->read((void *)&(m->main.mapType),  sizeof(UINT2),(size_t)1,m->fp); m->read((void *)&(m->main.byteOrder), sizeof(UINT4),(size_t)1,m->fp); /*                                             14+CSF_SIG_SPACE  */  (void)fseek(m->fp, ADDR_SECOND_HEADER, SEEK_SET); m->read((void *)&(m->raster.valueScale), sizeof(UINT2),(size_t)1,m->fp); m->read((void *)&(m->raster.cellRepr), sizeof(UINT2),(size_t)1,m->fp); (void)fread((void *)&(m->raster.minVal), sizeof(CSF_VAR_TYPE),(size_t)1,m->fp); (void)fread((void *)&(m->raster.maxVal), sizeof(CSF_VAR_TYPE),(size_t)1,m->fp); if (s != ORD_OK) {  CsfSwap((void *)&(m->raster.minVal), CELLSIZE(m->raster.cellRepr),(size_t)1);  CsfSwap((void *)&(m->raster.maxVal), CELLSIZE(m->raster.cellRepr),(size_t)1); } m->read((void *)&(m->raster.xUL), sizeof(REAL8),(size_t)1,m->fp); m->read((void *)&(m->raster.yUL), sizeof(REAL8),(size_t)1,m->fp); m->read((void *)&(m->raster.nrRows), sizeof(UINT4),(size_t)1,m->fp); m->read((void *)&(m->raster.nrCols), sizeof(UINT4),(size_t)1,m->fp); m->read((void *)&(m->raster.cellSize), sizeof(REAL8),(size_t)1,m->fp); m->read((void *)&(m->raster.cellSizeDupl), sizeof(REAL8),(size_t)1,m->fp); m->read((void *)&(m->raster.angle), sizeof(REAL8),(size_t)1,m->fp); /*  check signature C.S.F.file	  */ if(strncmp(m->main.signature,CSF_SIG,CSF_SIZE_SIG)!=0) { 	M_ERROR(NOT_CSF); 	goto error_open; } /* should be read right  */ POSTCOND(m->main.byteOrder == ORD_OK); /*  restore byteOrder C.S.F.file (Intel or Motorola)  */ m->main.byteOrder=s;  /*  check version C.S.F.file	  */ if (m->main.version != CSF_VERSION_1    && (m->main.version != CSF_VERSION_2)) { 	M_ERROR(BAD_VERSION); 	goto error_open; }  if (m->main.version == CSF_VERSION_1) 	m->raster.angle = 0.0;  CsfFinishMapInit(m);  CsfRegisterMap(m);  /* install cell value converters: (app2file,file2app)  */ m->app2file = CsfDummyConversion; m->file2app = CsfDummyConversion; m->appCR    = m->raster.cellRepr;  if (IsMV(m,&(m->raster.minVal)) ||     IsMV(m,&(m->raster.maxVal))   ) 	m->minMaxStatus = MM_WRONGVALUE; else 	m->minMaxStatus = MM_KEEPTRACK;  return(m);  error_open: PRECOND(m->fp != NULL); (void)fclose(m->fp); error_notOpen:  CSF_FREE(m->fileName); error_fnameMalloc:  CSF_FREE(m);error_mapMalloc:	 return(NULL);}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
在线观看91视频| 亚洲视频在线一区观看| 中文字幕视频一区二区三区久| 亚洲一区二区三区精品在线| 国产91精品精华液一区二区三区| 欧美疯狂做受xxxx富婆| 中文字幕亚洲不卡| 国产一区免费电影| 91精品欧美综合在线观看最新| 亚洲欧美中日韩| 麻豆91在线观看| 777午夜精品免费视频| 亚洲美女区一区| 成人av网站在线观看| 久久久久久综合| 黑人巨大精品欧美一区| 91精品国产免费| 亚洲va中文字幕| 色88888久久久久久影院野外| 国产精品网站在线| 国产91在线|亚洲| 久久精品视频一区二区| 国产一区二区伦理片| 欧美一级电影网站| 日韩精品亚洲一区| 91精品国产综合久久久久| 天堂av在线一区| 这里只有精品视频在线观看| 日韩精品五月天| av在线免费不卡| 97超碰欧美中文字幕| 99久久精品免费看国产免费软件| 99免费精品在线| 国产精品自在欧美一区| 亚洲一区国产视频| 欧美伦理影视网| 韩国午夜理伦三级不卡影院| 免费观看在线综合色| 日韩中文字幕av电影| 亚洲国产精品久久一线不卡| 免费久久精品视频| 久久久无码精品亚洲日韩按摩| 色婷婷av一区二区三区软件| 日日夜夜免费精品| 日本特黄久久久高潮| 五月天婷婷综合| 国产一区高清在线| 亚洲午夜视频在线| 亚洲伦在线观看| 欧美日韩在线亚洲一区蜜芽| 亚洲一区二区中文在线| 欧美调教femdomvk| 91丨porny丨国产| 国产99久久久久| 99精品欧美一区二区蜜桃免费 | 夜夜揉揉日日人人青青一国产精品| 日韩一二三区视频| 欧美成人艳星乳罩| 国产精品免费av| 成人涩涩免费视频| 欧美videofree性高清杂交| 日韩一卡二卡三卡| 91精品国产综合久久久久| 亚洲永久精品大片| 日韩午夜在线观看视频| 国产高清无密码一区二区三区| 国产欧美日韩麻豆91| 欧美中文字幕一区| 国产乱码精品一区二区三| 一区二区三区在线视频免费 | 亚洲18色成人| 国产网站一区二区| 色久综合一二码| 久久激情综合网| 亚洲精选视频免费看| 精品捆绑美女sm三区| 日本韩国欧美三级| 国产精品一区二区你懂的| 亚洲1区2区3区4区| 国产精品久久三| 精品国产99国产精品| 欧美在线观看一区| 高清日韩电视剧大全免费| 日韩黄色在线观看| 亚洲欧美二区三区| 中文一区二区完整视频在线观看| 欧美日韩性生活| 色综合久久久久综合体桃花网| 美女视频网站黄色亚洲| 亚洲女与黑人做爰| 日本一区二区三区四区| 精品国产乱码久久久久久闺蜜| 欧美视频一区二区三区| 99久精品国产| 成人激情视频网站| 国产精品一区二区无线| 久久99国产精品久久99果冻传媒| 亚洲妇女屁股眼交7| 亚洲免费观看高清在线观看| 中文字幕精品一区二区三区精品| 欧美一区二区视频观看视频| 亚洲成人你懂的| 日韩三级高清在线| 欧美高清精品3d| 欧美蜜桃一区二区三区| 欧美日韩精品一二三区| 欧美午夜免费电影| 日本高清不卡aⅴ免费网站| 91在线观看高清| av电影天堂一区二区在线观看| 国产精品自拍一区| 国产精品一区免费视频| 国产福利精品一区二区| 国产精品888| 成人av电影在线| 91啪亚洲精品| 欧美日韩一卡二卡| 欧美美女一区二区在线观看| 91精品国产一区二区| 日韩久久免费av| 日韩精品一区二区三区在线观看 | 国产精品国产三级国产aⅴ原创| 国产日韩欧美麻豆| 成人欧美一区二区三区| 亚洲三级电影网站| 亚洲一区二区精品视频| 日韩制服丝袜先锋影音| 国产主播一区二区三区| 国产sm精品调教视频网站| www.亚洲激情.com| 精品视频一区三区九区| 欧美一区午夜视频在线观看| 欧美成人精精品一区二区频| 国产农村妇女毛片精品久久麻豆 | 国产精品美女久久久久久久久久久 | 国产日韩欧美不卡在线| 中文字幕精品综合| 亚洲成人精品一区二区| 日韩极品在线观看| 国产一区二区在线观看免费| 丁香激情综合国产| 欧美影视一区在线| 久久亚区不卡日本| 亚洲色图丝袜美腿| 日韩精品一二三四| 粉嫩高潮美女一区二区三区| 在线视频综合导航| 久久午夜色播影院免费高清| 国产精品久久久久一区二区三区| 亚洲成av人片在线观看无码| 国产91露脸合集magnet| 欧美日韩一卡二卡三卡 | 日韩精品一区二区三区中文精品| 国产精品久久久久婷婷| 青青青伊人色综合久久| 99免费精品视频| 精品国产一区二区亚洲人成毛片 | 欧美色图天堂网| 久久精品男人天堂av| 视频一区欧美精品| 99精品欧美一区二区三区综合在线| 欧美一二三区在线观看| 亚洲精品自拍动漫在线| 国产一区亚洲一区| 91麻豆精品国产91久久久久| 日韩毛片一二三区| 国产一区美女在线| 91精品国产综合久久香蕉的特点| **网站欧美大片在线观看| 玖玖九九国产精品| 欧美伦理电影网| 亚洲激情一二三区| 成人av高清在线| 久久网站最新地址| 日韩精品一二三四| 欧美日本国产一区| 亚洲欧洲制服丝袜| 97精品久久久久中文字幕| 久久久精品国产免费观看同学| 天堂在线亚洲视频| 欧美日韩国产首页| 亚洲色图20p| av一区二区三区| 国产欧美精品一区aⅴ影院| 国产一区二区网址| 精品国产污污免费网站入口 | 成人av免费网站| 国产亚洲精品精华液| 美日韩黄色大片| 欧美一卡二卡在线| 日韩和欧美一区二区| 欧美色图一区二区三区| 亚洲一二三四在线| 色婷婷久久久久swag精品| 亚洲摸摸操操av| 欧美性xxxxx极品少妇| 亚洲尤物在线视频观看| 欧美日韩国产综合视频在线观看| 亚洲欧美日韩国产综合| 在线观看日韩一区|