RTEMS
6.3
Toggle main menu visibility
Loading...
Searching...
No Matches
bsps
powerpc
mpc55xxevb
include
bsp
console-generic.h
Go to the documentation of this file.
1
/* SPDX-License-Identifier: BSD-2-Clause */
2
8
9
/*
10
* Copyright (c) 2011 embedded brains GmbH & Co. KG
11
*
12
* Redistribution and use in source and binary forms, with or without
13
* modification, are permitted provided that the following conditions
14
* are met:
15
* 1. Redistributions of source code must retain the above copyright
16
* notice, this list of conditions and the following disclaimer.
17
* 2. Redistributions in binary form must reproduce the above copyright
18
* notice, this list of conditions and the following disclaimer in the
19
* documentation and/or other materials provided with the distribution.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
22
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
23
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
24
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
25
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
26
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
27
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
28
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
29
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
30
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
31
* POSSIBILITY OF SUCH DAMAGE.
32
*/
33
34
#ifndef LIBBSP_SHARED_CONSOLE_GENERIC_H
35
#define LIBBSP_SHARED_CONSOLE_GENERIC_H
36
37
#include <
rtems/libio.h
>
38
#include <
rtems/termiostypes.h
>
39
40
#ifdef __cplusplus
41
extern
"C"
{
42
#endif
/* __cplusplus */
43
44
typedef
struct
{
45
rtems_termios_callbacks
termios_callbacks;
46
int (*poll_read)(
int
minor);
47
void (*poll_write)(
int
minor,
char
c);
48
}
console_generic_callbacks
;
49
50
typedef
struct
{
51
void
*context;
52
const
console_generic_callbacks
*callbacks;
53
const
char
*device_path;
54
}
console_generic_info
;
55
56
extern
const
console_generic_info
console_generic_info_table [];
57
58
extern
const
size_t
console_generic_info_count;
59
60
extern
const
rtems_device_minor_number
console_generic_minor;
61
62
#define CONSOLE_GENERIC_INFO_TABLE \
63
const console_generic_info console_generic_info_table []
64
65
#define CONSOLE_GENERIC_INFO(context, callbacks, device_path) \
66
{ context, callbacks, device_path }
67
68
#define CONSOLE_GENERIC_INFO_COUNT \
69
const size_t console_generic_info_count = \
70
sizeof(console_generic_info_table) / sizeof(console_generic_info_table [0])
71
72
#define CONSOLE_GENERIC_MINOR(minor) \
73
const rtems_device_minor_number console_generic_minor = (minor)
74
75
static
inline
void
*console_generic_get_context(
int
minor)
76
{
77
return
console_generic_info_table [minor].context;
78
}
79
80
static
inline
struct
rtems_termios_tty
*console_generic_get_tty_at_open(
81
void
*arg
82
)
83
{
84
const
rtems_libio_open_close_args_t
*oc =
85
(
const
rtems_libio_open_close_args_t
*) arg;
86
87
return
(
struct
rtems_termios_tty
*) oc->iop->data1;
88
}
89
90
#ifdef __cplusplus
91
}
92
#endif
/* __cplusplus */
93
94
#endif
/* LIBBSP_SHARED_CONSOLE_GENERIC_H */
rtems_libio_open_close_args_t
struct rtems_libio_open_close_args rtems_libio_open_close_args_t
Parameter block for open/close.
rtems_device_minor_number
uint32_t rtems_device_minor_number
This integer type represents the minor number of devices.
Definition
io.h:115
libio.h
Basic IO API.
console_generic_callbacks
Definition
console-generic.h:44
console_generic_info
Definition
console-generic.h:50
rtems_termios_callbacks
Definition
libio.h:1986
rtems_termios_tty
Definition
termiostypes.h:94
termiostypes.h
Generated by
1.18.0