source: rtems/cpukit/libblock/src/media-desc.c

Last change on this file was bcef89f2, checked in by Sebastian Huber <sebastian.huber@…>, on 05/19/23 at 06:18:25

Update company name

The embedded brains GmbH & Co. KG is the legal successor of embedded
brains GmbH.

  • Property mode set to 100644
File size: 3.4 KB
Line 
1/* SPDX-License-Identifier: BSD-2-Clause */
2
3/**
4 * @file
5 *
6 * @ingroup RTEMSMedia
7 *
8 * @brief Media implementation.
9 */
10
11/*
12 * Copyright (C) 2009, 2010 embedded brains GmbH & Co. KG
13 *
14 * Redistribution and use in source and binary forms, with or without
15 * modification, are permitted provided that the following conditions
16 * are met:
17 * 1. Redistributions of source code must retain the above copyright
18 *    notice, this list of conditions and the following disclaimer.
19 * 2. Redistributions in binary form must reproduce the above copyright
20 *    notice, this list of conditions and the following disclaimer in the
21 *    documentation and/or other materials provided with the distribution.
22 *
23 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
27 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33 * POSSIBILITY OF SUCH DAMAGE.
34 */
35
36#include <rtems/media.h>
37
38static const char *const rtems_media_event_desc_table [] = {
39  [RTEMS_MEDIA_EVENT_DISK_ATTACH] = "DISK ATTACH",
40  [RTEMS_MEDIA_EVENT_DISK_DETACH] = "DISK DETACH",
41  [RTEMS_MEDIA_EVENT_MOUNT] = "MOUNT",
42  [RTEMS_MEDIA_EVENT_UNMOUNT] = "UNMOUNT",
43  [RTEMS_MEDIA_EVENT_PARTITION_INQUIRY] = "PARTITION INQUIRY",
44  [RTEMS_MEDIA_EVENT_PARTITION_ATTACH] = "PARTITION ATTACH",
45  [RTEMS_MEDIA_EVENT_PARTITION_DETACH] = "PARTITION DETACH"
46};
47
48static const char *const rtems_media_state_desc_table [] = {
49  [RTEMS_MEDIA_STATE_INQUIRY] = "INQUIRY",
50  [RTEMS_MEDIA_STATE_ABORTED] = "ABORTED",
51  [RTEMS_MEDIA_STATE_READY] = "SUCCESS",
52  [RTEMS_MEDIA_STATE_FAILED] = "FAILED",
53  [RTEMS_MEDIA_STATE_SUCCESS] = "SUCCESS",
54  [RTEMS_MEDIA_ERROR_DISK_UNKNOWN] = "ERROR DISK UNKNOWN",
55  [RTEMS_MEDIA_ERROR_DISK_EXISTS] = "ERROR DISK EXISTS",
56  [RTEMS_MEDIA_ERROR_DISK_OR_PARTITION_UNKNOWN] = "ERROR DISK OR PARTITION UNKNOWN",
57  [RTEMS_MEDIA_ERROR_DISK_OR_PARTITION_EXISTS] = "ERROR DISK OR PARTITION EXISTS",
58  [RTEMS_MEDIA_ERROR_PARTITION_UNKNOWN] = "ERROR PARTITION UNKNOWN",
59  [RTEMS_MEDIA_ERROR_PARTITION_ORPHAN] = "ERROR PARTITION ORPHAN",
60  [RTEMS_MEDIA_ERROR_PARTITION_DETACH_WITH_MOUNT] = "ERROR PARTITION DETACH WITH MOUNT",
61  [RTEMS_MEDIA_ERROR_PARTITION_WITH_UNKNOWN_DISK] = "ERROR PARTITION WITH UNKNOWN DISK",
62  [RTEMS_MEDIA_ERROR_MOUNT_POINT_UNKNOWN] = "ERROR MOUNT POINT UNKNOWN",
63  [RTEMS_MEDIA_ERROR_MOUNT_POINT_EXISTS] = "ERROR MOUNT POINT EXISTS",
64  [RTEMS_MEDIA_ERROR_MOUNT_POINT_ORPHAN] = "ERROR MOUNT POINT ORPHAN"
65};
66
67#define TC(table) (sizeof(table) / sizeof(table [0]))
68
69const char *rtems_media_event_description(rtems_media_event event)
70{
71  if ((size_t) event < TC(rtems_media_event_desc_table)) {
72    return rtems_media_event_desc_table [event];
73  } else {
74    return "INVALID";
75  }
76}
77
78const char *rtems_media_state_description(rtems_media_state state)
79{
80  if ((size_t) state < TC(rtems_media_state_desc_table)) {
81    return rtems_media_state_desc_table [state];
82  } else {
83    return "INVALID";
84  }
85}
Note: See TracBrowser for help on using the repository browser.