Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:24:14

0001 /* SPDX-License-Identifier: BSD-2-Clause */
0002 
0003 /**
0004  * @file
0005  *
0006  * @ingroup RTEMSMedia
0007  *
0008  * @brief Media implementation.
0009  */
0010 
0011 /*
0012  * Copyright (C) 2009, 2010 embedded brains GmbH & Co. KG
0013  *
0014  * Redistribution and use in source and binary forms, with or without
0015  * modification, are permitted provided that the following conditions
0016  * are met:
0017  * 1. Redistributions of source code must retain the above copyright
0018  *    notice, this list of conditions and the following disclaimer.
0019  * 2. Redistributions in binary form must reproduce the above copyright
0020  *    notice, this list of conditions and the following disclaimer in the
0021  *    documentation and/or other materials provided with the distribution.
0022  *
0023  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0024  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0025  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0026  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
0027  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0028  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0029  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0030  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0031  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0032  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0033  * POSSIBILITY OF SUCH DAMAGE.
0034  */
0035 
0036 #include <rtems/media.h>
0037 
0038 static const char *const rtems_media_event_desc_table [] = {
0039   [RTEMS_MEDIA_EVENT_DISK_ATTACH] = "DISK ATTACH",
0040   [RTEMS_MEDIA_EVENT_DISK_DETACH] = "DISK DETACH",
0041   [RTEMS_MEDIA_EVENT_MOUNT] = "MOUNT",
0042   [RTEMS_MEDIA_EVENT_UNMOUNT] = "UNMOUNT",
0043   [RTEMS_MEDIA_EVENT_PARTITION_INQUIRY] = "PARTITION INQUIRY",
0044   [RTEMS_MEDIA_EVENT_PARTITION_ATTACH] = "PARTITION ATTACH",
0045   [RTEMS_MEDIA_EVENT_PARTITION_DETACH] = "PARTITION DETACH"
0046 };
0047 
0048 static const char *const rtems_media_state_desc_table [] = {
0049   [RTEMS_MEDIA_STATE_INQUIRY] = "INQUIRY",
0050   [RTEMS_MEDIA_STATE_ABORTED] = "ABORTED",
0051   [RTEMS_MEDIA_STATE_READY] = "SUCCESS",
0052   [RTEMS_MEDIA_STATE_FAILED] = "FAILED",
0053   [RTEMS_MEDIA_STATE_SUCCESS] = "SUCCESS",
0054   [RTEMS_MEDIA_ERROR_DISK_UNKNOWN] = "ERROR DISK UNKNOWN",
0055   [RTEMS_MEDIA_ERROR_DISK_EXISTS] = "ERROR DISK EXISTS",
0056   [RTEMS_MEDIA_ERROR_DISK_OR_PARTITION_UNKNOWN] = "ERROR DISK OR PARTITION UNKNOWN",
0057   [RTEMS_MEDIA_ERROR_DISK_OR_PARTITION_EXISTS] = "ERROR DISK OR PARTITION EXISTS",
0058   [RTEMS_MEDIA_ERROR_PARTITION_UNKNOWN] = "ERROR PARTITION UNKNOWN",
0059   [RTEMS_MEDIA_ERROR_PARTITION_ORPHAN] = "ERROR PARTITION ORPHAN",
0060   [RTEMS_MEDIA_ERROR_PARTITION_DETACH_WITH_MOUNT] = "ERROR PARTITION DETACH WITH MOUNT",
0061   [RTEMS_MEDIA_ERROR_PARTITION_WITH_UNKNOWN_DISK] = "ERROR PARTITION WITH UNKNOWN DISK",
0062   [RTEMS_MEDIA_ERROR_MOUNT_POINT_UNKNOWN] = "ERROR MOUNT POINT UNKNOWN",
0063   [RTEMS_MEDIA_ERROR_MOUNT_POINT_EXISTS] = "ERROR MOUNT POINT EXISTS",
0064   [RTEMS_MEDIA_ERROR_MOUNT_POINT_ORPHAN] = "ERROR MOUNT POINT ORPHAN"
0065 };
0066 
0067 #define TC(table) (sizeof(table) / sizeof(table [0]))
0068 
0069 const char *rtems_media_event_description(rtems_media_event event)
0070 {
0071   if ((size_t) event < TC(rtems_media_event_desc_table)) {
0072     return rtems_media_event_desc_table [event];
0073   } else {
0074     return "INVALID";
0075   } 
0076 }
0077 
0078 const char *rtems_media_state_description(rtems_media_state state)
0079 {
0080   if ((size_t) state < TC(rtems_media_state_desc_table)) {
0081     return rtems_media_state_desc_table [state];
0082   } else {
0083     return "INVALID";
0084   }
0085 }