diff options
author | Dan Handley <dan.handley@arm.com> | 2014-08-12 14:20:28 +0100 |
---|---|---|
committer | Dan Handley <dan.handley@arm.com> | 2014-08-14 11:17:03 +0100 |
commit | 935db693285d6b22b781571e9dec748da274ffe1 (patch) | |
tree | 5441c41bf5bc9d1a28984e3791787eb06f24b0c8 /include/lib | |
parent | 6d16ce0bfee7101a125fc5545ca12e19c3d47cd1 (diff) |
Move IO storage source to drivers directory
Move the remaining IO storage source file (io_storage.c) from the
lib to the drivers directory. This requires that platform ports
explicitly add this file to the list of source files.
Also move the IO header files to a new sub-directory, include/io.
Change-Id: I862b1252a796b3bcac0d93e50b11e7fb2ded93d6
Diffstat (limited to 'include/lib')
-rw-r--r-- | include/lib/io_storage.h | 124 |
1 files changed, 0 insertions, 124 deletions
diff --git a/include/lib/io_storage.h b/include/lib/io_storage.h deleted file mode 100644 index ae1158c0..00000000 --- a/include/lib/io_storage.h +++ /dev/null @@ -1,124 +0,0 @@ -/* - * Copyright (c) 2014, ARM Limited and Contributors. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * - * Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * Neither the name of ARM nor the names of its contributors may be used - * to endorse or promote products derived from this software without specific - * prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" - * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE - * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR - * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF - * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS - * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN - * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE - * POSSIBILITY OF SUCH DAMAGE. - */ - -#ifndef __IO_H__ -#define __IO_H__ - -#include <stdint.h> -#include <stdio.h> /* For ssize_t */ - - -/* Device type which can be used to enable policy decisions about which device - * to access */ -typedef enum { - IO_TYPE_INVALID, - IO_TYPE_SEMIHOSTING, - IO_TYPE_MEMMAP, - IO_TYPE_FIRMWARE_IMAGE_PACKAGE, - IO_TYPE_MAX -} io_type_t; - - -/* Modes used when seeking data on a supported device */ -typedef enum { - IO_SEEK_INVALID, - IO_SEEK_SET, - IO_SEEK_END, - IO_SEEK_CUR, - IO_SEEK_MAX -} io_seek_mode_t; - - -/* Connector type, providing a means of identifying a device to open */ -struct io_dev_connector; - - -/* File specification - used to refer to data on a device supporting file-like - * entities */ -typedef struct io_file_spec { - const char *path; - unsigned int mode; -} io_file_spec_t; - - -/* Block specification - used to refer to data on a device supporting - * block-like entities */ -typedef struct io_block_spec { - size_t offset; - size_t length; -} io_block_spec_t; - - -/* Access modes used when accessing data on a device */ -#define IO_MODE_INVALID (0) -#define IO_MODE_RO (1 << 0) -#define IO_MODE_RW (1 << 1) - - -/* Return codes reported by 'io_*' APIs */ -#define IO_SUCCESS (0) -#define IO_FAIL (-1) -#define IO_NOT_SUPPORTED (-2) -#define IO_RESOURCES_EXHAUSTED (-3) - - -/* Open a connection to a device */ -int io_dev_open(const struct io_dev_connector *dev_con, - const uintptr_t dev_spec, - uintptr_t *dev_handle); - - -/* Initialise a device explicitly - to permit lazy initialisation or - * re-initialisation */ -int io_dev_init(uintptr_t dev_handle, const uintptr_t init_params); - -/* TODO: Consider whether an explicit "shutdown" API should be included */ - -/* Close a connection to a device */ -int io_dev_close(uintptr_t dev_handle); - - -/* Synchronous operations */ -int io_open(uintptr_t dev_handle, const uintptr_t spec, uintptr_t *handle); - -int io_seek(uintptr_t handle, io_seek_mode_t mode, ssize_t offset); - -int io_size(uintptr_t handle, size_t *length); - -int io_read(uintptr_t handle, uintptr_t buffer, size_t length, - size_t *length_read); - -int io_write(uintptr_t handle, const uintptr_t buffer, size_t length, - size_t *length_written); - -int io_close(uintptr_t handle); - - -#endif /* __IO_H__ */ |