RTEMS 6.1-rc1
|
RTEMS Run-Time Linker Object File cache buffers a section of the object file in a buffer to localise read performance. More...
#include <errno.h>
#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <inttypes.h>
#include <rtems/rtl/rtl-allocator.h>
#include <rtems/rtl/rtl-obj-cache.h>
#include "rtl-error.h"
#include <rtems/rtl/rtl-trace.h>
Functions | |
bool | rtems_rtl_obj_cache_open (rtems_rtl_obj_cache *cache, size_t size) |
void | rtems_rtl_obj_cache_close (rtems_rtl_obj_cache *cache) |
void | rtems_rtl_obj_cache_flush (rtems_rtl_obj_cache *cache) |
bool | rtems_rtl_obj_cache_read (rtems_rtl_obj_cache *cache, int fd, off_t offset, void **buffer, size_t *length) |
bool | rtems_rtl_obj_cache_read_byval (rtems_rtl_obj_cache *cache, int fd, off_t offset, void *buffer, size_t length) |
RTEMS Run-Time Linker Object File cache buffers a section of the object file in a buffer to localise read performance.
void rtems_rtl_obj_cache_close | ( | rtems_rtl_obj_cache * | cache | ) |
Close a cache.
cache | The cache to close. |
void rtems_rtl_obj_cache_flush | ( | rtems_rtl_obj_cache * | cache | ) |
Flush the cache. Any further read will read the data from the file.
cache | The cache to flush. |
bool rtems_rtl_obj_cache_open | ( | rtems_rtl_obj_cache * | cache, |
size_t | size | ||
) |
Open a cache allocating a single buffer of the size passed. The default state of the cache is flushed. No already open checks are made.
cache | The cache to initialise. |
size | The size of the cache. |
true | The cache is open. |
false | The cache is not open. The RTL error is set. |
bool rtems_rtl_obj_cache_read | ( | rtems_rtl_obj_cache * | cache, |
int | fd, | ||
off_t | offset, | ||
void ** | buffer, | ||
size_t * | length | ||
) |
Read data by reference. The length contains the amount of data that should be available in the cache and referenced by the buffer handle. It must be less than or equal to the size of the cache. This call will return the amount of data that is available. It can be less than you ask if the offset and size is past the end of the file.
cache | The cache to reference data from. |
fd | The file descriptor. Must be an open file. |
offset | The offset in the file to reference the data to. |
buffer | The location to reference the data from. |
length | The length of data to reference. Can be modified to a lesser value and true is still returned so check it. |
true | The data referenced is in the cache. |
false | The read failed and the RTL error has been set. |
bool rtems_rtl_obj_cache_read_byval | ( | rtems_rtl_obj_cache * | cache, |
int | fd, | ||
off_t | offset, | ||
void * | buffer, | ||
size_t | length | ||
) |
Read data by value. The data is copied to the user supplied buffer.
cache | The cache to read the data from. |
fd | The file descriptor. Must be an open file. |
offset | The offset in the file to read the data from. |
buffer | The location the data is written into. |
length | The length of data to read. |
true | The data has been read from the cache. |
false | The read failed and the RTL error has been set. |