📄 cpl__vsi_8h.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>GDAL: cpl_vsi.h File Reference</title><link href="doxygen.css" rel="stylesheet" type="text/css"><link href="tabs.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.5.1 --><div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li id="current"><a href="files.html"><span>Files</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> </ul></div><div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul></div><h1>cpl_vsi.h File Reference</h1><code>#include "<a class="el" href="cpl__port_8h-source.html">cpl_port.h</a>"</code><br><code>#include <unistd.h></code><br><code>#include <sys/stat.h></code><br><p><a href="cpl__vsi_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0"><tr><td></td></tr><tr><td colspan="2"><br><h2>Defines</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7e5cdfef2e52acfa6c2d723934e0d796"></a><!-- doxytag: member="cpl_vsi.h::VSI_ISLNK" ref="7e5cdfef2e52acfa6c2d723934e0d796" args="(x)" -->#define </td><td class="memItemRight" valign="bottom"><b>VSI_ISLNK</b>(x) S_ISLNK(x)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="57c4561cb89d1e6d0273c5be2a374777"></a><!-- doxytag: member="cpl_vsi.h::VSI_ISREG" ref="57c4561cb89d1e6d0273c5be2a374777" args="(x)" -->#define </td><td class="memItemRight" valign="bottom"><b>VSI_ISREG</b>(x) S_ISREG(x)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="13e9ada3d2bb3df2eae358b1037f9a1b"></a><!-- doxytag: member="cpl_vsi.h::VSI_ISDIR" ref="13e9ada3d2bb3df2eae358b1037f9a1b" args="(x)" -->#define </td><td class="memItemRight" valign="bottom"><b>VSI_ISDIR</b>(x) S_ISDIR(x)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0307743404aa7fcc7c8b32473ac03031"></a><!-- doxytag: member="cpl_vsi.h::VSI_ISCHR" ref="0307743404aa7fcc7c8b32473ac03031" args="(x)" -->#define </td><td class="memItemRight" valign="bottom"><b>VSI_ISCHR</b>(x) S_ISCHR(x)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="77b4be0683f8d97fc37631d06bb21dcf"></a><!-- doxytag: member="cpl_vsi.h::VSI_ISBLK" ref="77b4be0683f8d97fc37631d06bb21dcf" args="(x)" -->#define </td><td class="memItemRight" valign="bottom"><b>VSI_ISBLK</b>(x) S_ISBLK(x)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ec2052160cd515ca99b6f9028c4239ef"></a><!-- doxytag: member="cpl_vsi.h::VSIDebug4" ref="ec2052160cd515ca99b6f9028c4239ef" args="(f, a1, a2, a3, a4)" -->#define </td><td class="memItemRight" valign="bottom"><b>VSIDebug4</b>(f, a1, a2, a3, a4) {}</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="33e378283de935576186904014bfceba"></a><!-- doxytag: member="cpl_vsi.h::VSIDebug3" ref="33e378283de935576186904014bfceba" args="(f, a1, a2, a3)" -->#define </td><td class="memItemRight" valign="bottom"><b>VSIDebug3</b>(f, a1, a2, a3) {}</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31b90a5e6071a220fbd78aa7503dd5c9"></a><!-- doxytag: member="cpl_vsi.h::VSIDebug2" ref="31b90a5e6071a220fbd78aa7503dd5c9" args="(f, a1, a2)" -->#define </td><td class="memItemRight" valign="bottom"><b>VSIDebug2</b>(f, a1, a2) {}</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="23c8f39bc59a0098a030b5e106d6f35e"></a><!-- doxytag: member="cpl_vsi.h::VSIDebug1" ref="23c8f39bc59a0098a030b5e106d6f35e" args="(f, a1)" -->#define </td><td class="memItemRight" valign="bottom"><b>VSIDebug1</b>(f, a1) {}</td></tr><tr><td colspan="2"><br><h2>Typedefs</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ca94fc722aae44cab35e247919e56258"></a><!-- doxytag: member="cpl_vsi.h::VSIStatBuf" ref="ca94fc722aae44cab35e247919e56258" args="" -->typedef stat </td><td class="memItemRight" valign="bottom"><b>VSIStatBuf</b></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f56f9ebab1994e4c2ed3f0a50af787b2"></a><!-- doxytag: member="cpl_vsi.h::vsi_l_offset" ref="f56f9ebab1994e4c2ed3f0a50af787b2" args="" -->typedef GUIntBig </td><td class="memItemRight" valign="bottom"><b>vsi_l_offset</b></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="ccc7d5e1f7745ec91b5e32654870e324"></a><!-- doxytag: member="cpl_vsi.h::VSIStatBufL" ref="ccc7d5e1f7745ec91b5e32654870e324" args="" -->typedef VSI_STAT64_T </td><td class="memItemRight" valign="bottom"><b>VSIStatBufL</b></td></tr><tr><td colspan="2"><br><h2>Functions</h2></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="2e7c42d2a1f1da091054a264250adb54"></a><!-- doxytag: member="cpl_vsi.h::VSIFOpen" ref="2e7c42d2a1f1da091054a264250adb54" args="(const char *, const char *)" -->FILE * </td><td class="memItemRight" valign="bottom"><b>VSIFOpen</b> (const char *, const char *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dda42c2ff8664235ab34deb25ddd9cf2"></a><!-- doxytag: member="cpl_vsi.h::VSIFClose" ref="dda42c2ff8664235ab34deb25ddd9cf2" args="(FILE *)" -->int </td><td class="memItemRight" valign="bottom"><b>VSIFClose</b> (FILE *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="50ea2272b7e9f6436a443819aa593dc0"></a><!-- doxytag: member="cpl_vsi.h::VSIFSeek" ref="50ea2272b7e9f6436a443819aa593dc0" args="(FILE *, long, int)" -->int </td><td class="memItemRight" valign="bottom"><b>VSIFSeek</b> (FILE *, long, int)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="34a0b1228ceab81163c55164d8e5267b"></a><!-- doxytag: member="cpl_vsi.h::VSIFTell" ref="34a0b1228ceab81163c55164d8e5267b" args="(FILE *)" -->long </td><td class="memItemRight" valign="bottom"><b>VSIFTell</b> (FILE *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="31c62d7b1df249ced9bb5472f2d890ad"></a><!-- doxytag: member="cpl_vsi.h::VSIRewind" ref="31c62d7b1df249ced9bb5472f2d890ad" args="(FILE *)" -->void </td><td class="memItemRight" valign="bottom"><b>VSIRewind</b> (FILE *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="0c3feeb40152558777808781b07dd55e"></a><!-- doxytag: member="cpl_vsi.h::VSIFFlush" ref="0c3feeb40152558777808781b07dd55e" args="(FILE *)" -->void </td><td class="memItemRight" valign="bottom"><b>VSIFFlush</b> (FILE *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="bb4d40efd89436df4b9cb83f34dc5939"></a><!-- doxytag: member="cpl_vsi.h::VSIFRead" ref="bb4d40efd89436df4b9cb83f34dc5939" args="(void *, size_t, size_t, FILE *)" -->size_t </td><td class="memItemRight" valign="bottom"><b>VSIFRead</b> (void *, size_t, size_t, FILE *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="9230d5cfc5580e0345299c26723fdfe2"></a><!-- doxytag: member="cpl_vsi.h::VSIFWrite" ref="9230d5cfc5580e0345299c26723fdfe2" args="(const void *, size_t, size_t, FILE *)" -->size_t </td><td class="memItemRight" valign="bottom"><b>VSIFWrite</b> (const void *, size_t, size_t, FILE *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="cec808c6993d721c7e236377d4c1d690"></a><!-- doxytag: member="cpl_vsi.h::VSIFGets" ref="cec808c6993d721c7e236377d4c1d690" args="(char *, int, FILE *)" -->char * </td><td class="memItemRight" valign="bottom"><b>VSIFGets</b> (char *, int, FILE *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c6fb50a842a973dfe7ab97b5ecb4d4e6"></a><!-- doxytag: member="cpl_vsi.h::VSIFPuts" ref="c6fb50a842a973dfe7ab97b5ecb4d4e6" args="(const char *, FILE *)" -->int </td><td class="memItemRight" valign="bottom"><b>VSIFPuts</b> (const char *, FILE *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e7576c3e0851da567c26300271bb6a94"></a><!-- doxytag: member="cpl_vsi.h::VSIFPrintf" ref="e7576c3e0851da567c26300271bb6a94" args="(FILE *, const char *,...)" -->int </td><td class="memItemRight" valign="bottom"><b>VSIFPrintf</b> (FILE *, const char *,...)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="749b239bd1d74d080ca0ab873e2c8120"></a><!-- doxytag: member="cpl_vsi.h::VSIFGetc" ref="749b239bd1d74d080ca0ab873e2c8120" args="(FILE *)" -->int </td><td class="memItemRight" valign="bottom"><b>VSIFGetc</b> (FILE *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="16aebafb9ef21a8ed882fe6f4f24c353"></a><!-- doxytag: member="cpl_vsi.h::VSIFPutc" ref="16aebafb9ef21a8ed882fe6f4f24c353" args="(int, FILE *)" -->int </td><td class="memItemRight" valign="bottom"><b>VSIFPutc</b> (int, FILE *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="6e371a5f54a8db766ccb5d2c4c3839df"></a><!-- doxytag: member="cpl_vsi.h::VSIUngetc" ref="6e371a5f54a8db766ccb5d2c4c3839df" args="(int, FILE *)" -->int </td><td class="memItemRight" valign="bottom"><b>VSIUngetc</b> (int, FILE *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="7a321c704abecced941035b455d357fd"></a><!-- doxytag: member="cpl_vsi.h::VSIFEof" ref="7a321c704abecced941035b455d357fd" args="(FILE *)" -->int </td><td class="memItemRight" valign="bottom"><b>VSIFEof</b> (FILE *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="197e1b9b8477f6f5dce84c0f5c48f20f"></a><!-- doxytag: member="cpl_vsi.h::VSIStat" ref="197e1b9b8477f6f5dce84c0f5c48f20f" args="(const char *, VSIStatBuf *)" -->int </td><td class="memItemRight" valign="bottom"><b>VSIStat</b> (const char *, VSIStatBuf *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">FILE * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#48b5fab6cc22a9d0a543c095ee358634">VSIFOpenL</a> (const char *, const char *)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Open file. <a href="#48b5fab6cc22a9d0a543c095ee358634"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#b1fc5cbfff98db8f5aa912606b07e8d9">VSIFCloseL</a> (FILE *)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Close file. <a href="#b1fc5cbfff98db8f5aa912606b07e8d9"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#e4fbf582f429d575cd06d559afb0ce5a">VSIFSeekL</a> (FILE *, vsi_l_offset, int)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Seek to requested offset. <a href="#e4fbf582f429d575cd06d559afb0ce5a"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">vsi_l_offset </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#8e02ad6d2abd844a57a206e3ebba50b4">VSIFTellL</a> (FILE *)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Tell current file offset. <a href="#8e02ad6d2abd844a57a206e3ebba50b4"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dfd7a730447b9c33b4efad7f9a43ecec"></a><!-- doxytag: member="cpl_vsi.h::VSIRewindL" ref="dfd7a730447b9c33b4efad7f9a43ecec" args="(FILE *)" -->void </td><td class="memItemRight" valign="bottom"><b>VSIRewindL</b> (FILE *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#64335c9b9395cf8b40273a9cce4b46bf">VSIFReadL</a> (void *, size_t, size_t, FILE *)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Read bytes from file. <a href="#64335c9b9395cf8b40273a9cce4b46bf"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">size_t </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#485b2abb8535e77a9ee2bef266a4442d">VSIFWriteL</a> (const void *, size_t, size_t, FILE *)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Write bytes to file. <a href="#485b2abb8535e77a9ee2bef266a4442d"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#9e4f504264ad821b81bd26744a9c291f">VSIFEofL</a> (FILE *)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Test for end of file. <a href="#9e4f504264ad821b81bd26744a9c291f"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#1e43bee7439e2da7f59bfa8c4d9ff473">VSIFFlushL</a> (FILE *)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Flush pending writes to disk. <a href="#1e43bee7439e2da7f59bfa8c4d9ff473"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#c92fbd5e6fc143b026001b32c4c19ed1">VSIStatL</a> (const char *, VSIStatBufL *)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Get filesystem object info. <a href="#c92fbd5e6fc143b026001b32c4c19ed1"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="35d73f4aa771b0c6299fea4ab41959a3"></a><!-- doxytag: member="cpl_vsi.h::VSICalloc" ref="35d73f4aa771b0c6299fea4ab41959a3" args="(size_t, size_t)" -->void * </td><td class="memItemRight" valign="bottom"><b>VSICalloc</b> (size_t, size_t)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5ff69294658f2e1d02129bf69207c122"></a><!-- doxytag: member="cpl_vsi.h::VSIMalloc" ref="5ff69294658f2e1d02129bf69207c122" args="(size_t)" -->void * </td><td class="memItemRight" valign="bottom"><b>VSIMalloc</b> (size_t)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="f26e15498e19c2a8169db924415ff7ab"></a><!-- doxytag: member="cpl_vsi.h::VSIFree" ref="f26e15498e19c2a8169db924415ff7ab" args="(void *)" -->void </td><td class="memItemRight" valign="bottom"><b>VSIFree</b> (void *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="dd6cd6a32996ba1650528f2df3214c57"></a><!-- doxytag: member="cpl_vsi.h::VSIRealloc" ref="dd6cd6a32996ba1650528f2df3214c57" args="(void *, size_t)" -->void * </td><td class="memItemRight" valign="bottom"><b>VSIRealloc</b> (void *, size_t)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="5a0e16f51d70ca43d1c67e5dbe664277"></a><!-- doxytag: member="cpl_vsi.h::VSIStrdup" ref="5a0e16f51d70ca43d1c67e5dbe664277" args="(const char *)" -->char * </td><td class="memItemRight" valign="bottom"><b>VSIStrdup</b> (const char *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#ef0a5243bbc47cf9645a135d0c7d26df">VSIMkdir</a> (const char *pathname, long mode)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Create a directory. <a href="#ef0a5243bbc47cf9645a135d0c7d26df"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#763cceaa0966f37b71a0185c92bb3ad8">VSIRmdir</a> (const char *pathname)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Delete a directory. <a href="#763cceaa0966f37b71a0185c92bb3ad8"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#69dad1bd6f1af9935c1523db0c6c212f">VSIUnlink</a> (const char *pathname)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Delete a file. <a href="#69dad1bd6f1af9935c1523db0c6c212f"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#26cae93b5a32e11bef9ec7c118f8cca4">VSIRename</a> (const char *oldpath, const char *newpath)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Rename a file. <a href="#26cae93b5a32e11bef9ec7c118f8cca4"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="312ee85ec9884dc16feda2b81de1cc36"></a><!-- doxytag: member="cpl_vsi.h::VSIStrerror" ref="312ee85ec9884dc16feda2b81de1cc36" args="(int)" -->char * </td><td class="memItemRight" valign="bottom"><b>VSIStrerror</b> (int)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">void </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#66e2e6f093fd42f8a941b962d4c8a19e">VSIInstallMemFileHandler</a> (void)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Install "memory" file system handler. <a href="#66e2e6f093fd42f8a941b962d4c8a19e"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="fa8dab0deeeee583ec820a9847a6af4c"></a><!-- doxytag: member="cpl_vsi.h::VSIInstallLargeFileHandler" ref="fa8dab0deeeee583ec820a9847a6af4c" args="(void)" -->void </td><td class="memItemRight" valign="bottom"><b>VSIInstallLargeFileHandler</b> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="3a77a8859e833ced8ef145fe1962e2a0"></a><!-- doxytag: member="cpl_vsi.h::VSICleanupFileManager" ref="3a77a8859e833ced8ef145fe1962e2a0" args="(void)" -->void </td><td class="memItemRight" valign="bottom"><b>VSICleanupFileManager</b> (void)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">FILE * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#1ecb3a78729ecea4d2ce22065a605244">VSIFileFromMemBuffer</a> (const char *pszFilename, GByte *pabyData, vsi_l_offset nDataLength, int bTakeOwnership)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Create memory "file" from a buffer. <a href="#1ecb3a78729ecea4d2ce22065a605244"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top">GByte * </td><td class="memItemRight" valign="bottom"><a class="el" href="cpl__vsi_8h.html#eaf26bcc4a5314371f426bb2a5e6ce7a">VSIGetMemFileBuffer</a> (const char *pszFilename, vsi_l_offset *pnDataLength, int bUnlinkAndSeize)</td></tr><tr><td class="mdescLeft"> </td><td class="mdescRight">Fetch buffer underlying memory file. <a href="#eaf26bcc4a5314371f426bb2a5e6ce7a"></a><br></td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="c71125a8b8f3a275b6c615dc4747f68e"></a><!-- doxytag: member="cpl_vsi.h::VSITime" ref="c71125a8b8f3a275b6c615dc4747f68e" args="(unsigned long *)" -->unsigned long </td><td class="memItemRight" valign="bottom"><b>VSITime</b> (unsigned long *)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="e39ac018668664d43a43ad5f927d1c72"></a><!-- doxytag: member="cpl_vsi.h::VSICTime" ref="e39ac018668664d43a43ad5f927d1c72" args="(unsigned long)" -->const char * </td><td class="memItemRight" valign="bottom"><b>VSICTime</b> (unsigned long)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="eb339c77fda30384c21a674003de8dc4"></a><!-- doxytag: member="cpl_vsi.h::VSIGMTime" ref="eb339c77fda30384c21a674003de8dc4" args="(const time_t *pnTime, struct tm *poBrokenTime)" -->tm * </td><td class="memItemRight" valign="bottom"><b>VSIGMTime</b> (const time_t *pnTime, struct tm *poBrokenTime)</td></tr><tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="anchor" name="337c0b5df848dc361a32f90b2e917cf2"></a><!-- doxytag: member="cpl_vsi.h::VSILocalTime" ref="337c0b5df848dc361a32f90b2e917cf2" args="(const time_t *pnTime, struct tm *poBrokenTime)" -->tm * </td><td class="memItemRight" valign="bottom"><b>VSILocalTime</b> (const time_t *pnTime, struct tm *poBrokenTime)</td></tr></table><hr><a name="_details"></a><h2>Detailed Description</h2>Standard C Covers<p>The VSI functions are intended to be hookable aliases for Standard C I/O, memory allocation and other system functions. They are intended to allow virtualization of disk I/O so that non file data sources can be made to appear as files, and so that additional error trapping and reporting can be interested. The memory access API is aliased so that special application memory management services can be used.<p>Is is intended that each of these functions retains exactly the same calling pattern as the original Standard C functions they relate to. This means we don't have to provide custom documentation, and also means that the default implementation is very simple. <hr><h2>Function Documentation</h2><a class="anchor" name="b1fc5cbfff98db8f5aa912606b07e8d9"></a><!-- doxytag: member="cpl_vsi.h::VSIFCloseL" ref="b1fc5cbfff98db8f5aa912606b07e8d9" args="(FILE *)" --><div class="memitem"><div class="memproto"> <table class="memname"> <tr> <td class="memname">int VSIFCloseL </td> <td>(</td> <td class="paramtype">FILE * </td> <td class="paramname"> <em>fp</em> </td> <td> ) </td> <td width="100%"></td> </tr> </table>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -