summaryrefslogtreecommitdiff
path: root/include/lib
diff options
context:
space:
mode:
authorDan Handley <dan.handley@arm.com>2014-08-12 14:20:28 +0100
committerDan Handley <dan.handley@arm.com>2014-08-14 11:17:03 +0100
commit935db693285d6b22b781571e9dec748da274ffe1 (patch)
tree5441c41bf5bc9d1a28984e3791787eb06f24b0c8 /include/lib
parent6d16ce0bfee7101a125fc5545ca12e19c3d47cd1 (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.h124
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__ */