File indexing completed on 2025-05-11 08:24:18
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027
0028
0029
0030
0031
0032
0033
0034
0035
0036 #ifdef HAVE_CONFIG_H
0037 #include "config.h"
0038 #endif
0039
0040 #include <rtems/devzero.h>
0041
0042 #include <string.h>
0043
0044 #include <rtems/libio.h>
0045
0046 rtems_device_driver dev_zero_initialize(
0047 rtems_device_major_number major,
0048 rtems_device_minor_number minor RTEMS_UNUSED,
0049 void *arg RTEMS_UNUSED
0050 )
0051 {
0052 return rtems_io_register_name(DEVZERO_DEVICE_NAME, major, 0);
0053 }
0054
0055 rtems_device_driver dev_zero_open(
0056 rtems_device_major_number major RTEMS_UNUSED,
0057 rtems_device_minor_number minor RTEMS_UNUSED,
0058 void *arg RTEMS_UNUSED
0059 )
0060 {
0061 return RTEMS_SUCCESSFUL;
0062 }
0063
0064 rtems_device_driver dev_zero_close(
0065 rtems_device_major_number major RTEMS_UNUSED,
0066 rtems_device_minor_number minor RTEMS_UNUSED,
0067 void *arg RTEMS_UNUSED
0068 )
0069 {
0070 return RTEMS_SUCCESSFUL;
0071 }
0072
0073 rtems_device_driver dev_zero_read(
0074 rtems_device_major_number major RTEMS_UNUSED,
0075 rtems_device_minor_number minor RTEMS_UNUSED,
0076 void *arg RTEMS_UNUSED
0077 )
0078 {
0079 rtems_libio_rw_args_t *rw = arg;
0080
0081 rw->bytes_moved = rw->count;
0082 memset(rw->buffer, 0, rw->count);
0083
0084 return RTEMS_SUCCESSFUL;
0085 }
0086
0087 rtems_device_driver dev_zero_write(
0088 rtems_device_major_number major RTEMS_UNUSED,
0089 rtems_device_minor_number minor RTEMS_UNUSED,
0090 void *arg
0091 )
0092 {
0093 rtems_libio_rw_args_t *rw = arg;
0094
0095 rw->bytes_moved = rw->count;
0096
0097 return RTEMS_SUCCESSFUL;
0098 }
0099
0100 rtems_device_driver dev_zero_control(
0101 rtems_device_major_number major RTEMS_UNUSED,
0102 rtems_device_minor_number minor RTEMS_UNUSED,
0103 void *arg RTEMS_UNUSED
0104 )
0105 {
0106 return RTEMS_IO_ERROR;
0107 }