<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>Memfile interface</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="generator" content="pandoc" /> <link rel="stylesheet" href="pandoc.css" type="text/css" /> <script type="text/javascript" src="autosuggest.js"></script> <script type="text/javascript" src="search_index.js"></script> </head> <body> <div class="sidebar"> <div><ul ><li ><a href="index.html" ><strong >Contents</strong ></a ></li ><li ><a href="config.html" >Configuration files</a ></li ><li ><a href="display.html" >Display</a ></li ><li ><a href="events.html" >Events</a ></li ><li ><a href="file.html" >File I/O</a ></li ><li ><a href="fshook.html" >Filesystem</a ></li ><li ><a href="fixed.html" >Fixed point math</a ></li ><li ><a href="graphics.html" >Graphics</a ></li ><li ><a href="joystick.html" >Joystick</a ></li ><li ><a href="keyboard.html" >Keyboard</a ></li ><li ><a href="memory.html" >Memory</a ></li ><li ><a href="mouse.html" >Mouse</a ></li ><li ><a href="path.html" >Path</a ></li ><li ><a href="state.html" >State</a ></li ><li ><a href="system.html" >System</a ></li ><li ><a href="threads.html" >Threads</a ></li ><li ><a href="time.html" >Time</a ></li ><li ><a href="timer.html" >Timer</a ></li ><li ><a href="transformations.html" >Transformations</a ></li ><li ><a href="utf8.html" >UTF-8</a ></li ><li ><a href="misc.html" >Miscellaneous</a ></li ><li ><a href="platform.html" >Platform-specific</a ></li ><li ><a href="direct3d.html" >Direct3D</a ></li ><li ><a href="opengl.html" >OpenGL</a ></div> </li ></ul ><div><ul ><li ><a href="index.html#addons" ><strong >Addons</strong ></a ></li ><li ><a href="audio.html" >Audio addon</a ></li ><li ><a href="acodec.html" >Audio codecs</a ></li ><li ><a href="color.html" >Color addon</a ></li ><li ><a href="font.html" >Font addons</a ></li ><li ><a href="image.html" >Image I/O addon</a ></li ><li ><a href="memfile.html" >Memfile addon</a ></li ><li ><a href="native_dialog.html" >Native dialogs addon</a ></li ><li ><a href="physfs.html" >PhysicsFS addon</a ></li ><li ><a href="primitives.html" >Primitives addon</a ></div> </li ></ul ><div class="searchbox"> <script type="text/javascript"> function on_search(index, control) { for (i = 0; i < search_index.length; i++) { if (search_index[i] == control.keywords[index]) { break; } } location.href = search_urls[i]; } </script>Search<br /> <input type="text" name="q" id="q" size="15" autocomplete="off" /><br /><script type="text/javascript"> new autosuggest("q", search_index, null, on_search); </script> </div> </div> <div class="content"> <h1 class="title">Memfile interface</h1> <div id="TOC" ><ul ><li ><a href="#al_open_memfile" >al_open_memfile</a ></li ><li ><a href="#al_get_allegro_memfile_version" >al_get_allegro_memfile_version</a ></li ></ul ></div > <p >The memfile interface allows you to treat a fixed block of contiguous memory as a file that can be used with Allegro's I/O functions.</p ><p >These functions are declared in the following header file. Link with allegro_memfile.</p ><pre ><code >#include <allegro5/allegro_memfile.h> </code ></pre ><h1 id="al_open_memfile" ><a href="#TOC" >al_open_memfile</a ></h1 ><pre ><code >ALLEGRO_FILE *al_open_memfile(void *mem, int64_t size, const char *mode) </code ></pre ><p >Returns a file handle to the block of memory. All read and write operations act upon the memory directly, so it must not be freed while the file remains open.</p ><p >The mode can be any combination of "r" (readable) and "w" (writable). Regardless of the mode, the file always opens at position 0. The file size is fixed and cannot be expanded.</p ><p >It should be closed with <a href="file.html#al_fclose" >al_fclose</a >. After the file is closed, you are responsible for freeing the memory (if needed).</p ><h1 id="al_get_allegro_memfile_version" ><a href="#TOC" >al_get_allegro_memfile_version</a ></h1 ><pre ><code >uint32_t al_get_allegro_memfile_version(void) </code ></pre ><p >Returns the (compiled) version of the addon, in the same format as <a href="system.html#al_get_allegro_version" >al_get_allegro_version</a >.</p > <p class="timestamp"> Allegro version 5.0.3 - Last updated: 2011-05-22 02:32:08 UTC </p> </div> </body> </html>