source: rtems/cpukit/libmisc/devnull/devzero.c @ 158b416

4.115
Last change on this file since 158b416 was 158b416, checked in by Sebastian Huber <sebastian.huber@…>, on 05/13/11 at 13:46:43

2011-05-13 Sebastian Huber <sebastian.huber@…>

  • libmisc/devnull/devzero.c, libmisc/devnull/devzero.h: New files.
  • libmisc/Makefile.am, Makefile.am, preinstall.am: Reflect changes above.
  • Property mode set to 100644
File size: 1.9 KB
Line 
1/*
2 * Copyright (c) 2011 embedded brains GmbH.  All rights reserved.
3 *
4 *  embedded brains GmbH
5 *  Obere Lagerstr. 30
6 *  82178 Puchheim
7 *  Germany
8 *  <rtems@embedded-brains.de>
9 *
10 * The license and distribution terms for this file may be
11 * found in the file LICENSE in this distribution or at
12 * http://www.rtems.com/license/LICENSE.
13 *
14 * $Id$
15 */
16
17#ifdef HAVE_CONFIG_H
18#include "config.h"
19#endif
20
21#include <rtems/devzero.h>
22
23#include <string.h>
24
25#include <rtems/libio.h>
26
27rtems_device_driver dev_zero_initialize(
28  rtems_device_major_number major,
29  rtems_device_minor_number minor __attribute__((unused)),
30  void *arg __attribute__((unused))
31)
32{
33  return rtems_io_register_name(DEVZERO_DEVICE_NAME, major, 0);
34}
35
36rtems_device_driver dev_zero_open(
37  rtems_device_major_number major __attribute__((unused)),
38  rtems_device_minor_number minor __attribute__((unused)),
39  void *arg __attribute__((unused))
40)
41{
42  return RTEMS_SUCCESSFUL;
43}
44
45rtems_device_driver dev_zero_close(
46  rtems_device_major_number major __attribute__((unused)),
47  rtems_device_minor_number minor __attribute__((unused)),
48  void *arg __attribute__((unused))
49)
50{
51  return RTEMS_SUCCESSFUL;
52}
53
54rtems_device_driver dev_zero_read(
55  rtems_device_major_number major __attribute__((unused)),
56  rtems_device_minor_number minor __attribute__((unused)),
57  void *arg __attribute__((unused))
58)
59{
60  rtems_libio_rw_args_t *rw = arg;
61
62  rw->bytes_moved = rw->count;
63  memset(rw->buffer, 0, rw->count);
64
65  return RTEMS_SUCCESSFUL;
66}
67
68rtems_device_driver dev_zero_write(
69  rtems_device_major_number major __attribute__((unused)),
70  rtems_device_minor_number minor __attribute__((unused)),
71  void *arg
72)
73{
74  rtems_libio_rw_args_t *rw = arg;
75
76  rw->bytes_moved = rw->count;
77
78  return RTEMS_SUCCESSFUL;
79}
80
81rtems_device_driver dev_zero_control(
82  rtems_device_major_number major __attribute__((unused)),
83  rtems_device_minor_number minor __attribute__((unused)),
84  void *arg __attribute__((unused))
85)
86{
87  return RTEMS_IO_ERROR;
88}
Note: See TracBrowser for help on using the repository browser.