aboutsummaryrefslogtreecommitdiffstats
path: root/os/hal/lib/streams/nullstreams.c
blob: c15455b2254aec47e75dd12d26a78fe60809d8ce (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
/*
    ChibiOS - Copyright (C) 2006..2018 Giovanni Di Sirio

    Licensed under the Apache License, Version 2.0 (the "License");
    you may not use this file except in compliance with the License.
    You may obtain a copy of the License at

        http://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
*/

/**
 * @file    nullstreams.c
 * @brief   Null streams code.
 *
 * @addtogroup null_streams
 * @{
 */

#include "hal.h"
#include "nullstreams.h"

/*===========================================================================*/
/* Driver local definitions.                                                 */
/*===========================================================================*/

/*===========================================================================*/
/* Driver exported variables.                                                */
/*===========================================================================*/

/*===========================================================================*/
/* Driver local variables.                                                   */
/*===========================================================================*/

/*===========================================================================*/
/* Driver local functions.                                                   */
/*===========================================================================*/

static size_t writes(void *ip, const uint8_t *bp, size_t n) {

  (void)ip;
  (void)bp;

  return n;
}

static size_t reads(void *ip, uint8_t *bp, size_t n) {

  (void)ip;
  (void)bp;
  (void)n;

  return 0;
}

static msg_t put(void *ip, uint8_t b) {

  (void)ip;
  (void)b;

  return MSG_OK;
}

static msg_t get(void *ip) {

  (void)ip;

  return 4;
}

static const struct NullStreamVMT vmt = {(size_t)0, writes, reads, put, get};

/*===========================================================================*/
/* Driver exported functions.                                                */
/*===========================================================================*/

/**
 * @brief   Null stream object initialization.
 *
 * @param[out] nsp      pointer to the @p NullStream object to be initialized
 */
void nullObjectInit(NullStream *nsp) {

  nsp->vmt = &vmt;
}

/** @} */
Bn8JYHs2ND2Zo2SiKh lvggHYAo8oFxvSZPdNiymBPzNxlI/kMsLyJU6tzHZItK93fmMIICfTCCAWUCAQEw DQYJKoZIhvcNAQELBQAwTjELMAkGA1UEBhMCVVMxHzAdBgNVBAoTFlRlc3QgQ2Vy dGlmaWNhdGVzIDIwMTExHjAcBgNVBAsTFWRpc3RyaWJ1dGlvblBvaW50MSBDQRcN MTAwMTAxMDgzMDAwWhcNMzAxMjMxMDgzMDAwWjAiMCACAQIXDTEwMDEwMTA4MzAw MFowDDAKBgNVHRUEAwoBAaCBvjCBuzAfBgNVHSMEGDAWgBQRMHO9jXAogtJvz9I3 7c3rI5Hb7zCBiwYDVR0cAQH/BIGAMH6gfKB6pHgwdjELMAkGA1UEBhMCVVMxHzAd BgNVBAoTFlRlc3QgQ2VydGlmaWNhdGVzIDIwMTExHjAcBgNVBAsTFWRpc3RyaWJ1 dGlvblBvaW50MSBDQTEmMCQGA1UEAxMdQ1JMMSBvZiBkaXN0cmlidXRpb25Qb2lu dDEgQ0EwCgYDVR0UBAMCAQEwDQYJKoZIhvcNAQELBQADggEBACrxG+l579by89QJ va16Yro3XPJ9lXu/l8cgQpoaHZifIG9TnaWxb4WFwSBIbOqprbQW7N580RJBH2Sq iiUmCu6Acg2ryKfywGULkFFd0ZYMBrhtHQe7T0SJq0NFtMlZA9Vgia3Tqhiam3c1 oJeZnETcn35b5qLAmr+EaRpXDT4Mflqwub0kgwal6p9wmuH5vs4dc98l/Ub+J+ve 8yVmMVq/0YSGv5Z2IjX2V9iWdjcZPnAC3BaOMvm40zy5cOWJFaXii7M41MgR4d8Z MQn/UQGb2CMypm207QW3yNbuI7+/0y0vxJDo2k84ktw6sAdadQBSIAUmYp0Rsdtg 9TwZE00xggHpMIIB5QIBATBTME4xCzAJBgNVBAYTAlVTMR8wHQYDVQQKExZUZXN0 IENlcnRpZmljYXRlcyAyMDExMR4wHAYDVQQLExVkaXN0cmlidXRpb25Qb2ludDEg Q0ECAQMwDQYJYIZIAWUDBAIBBQCgaTAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcB MBwGCSqGSIb3DQEJBTEPFw0xMTA0MTQxMzAyMjFaMC8GCSqGSIb3DQEJBDEiBCDC syerA6PsfS6Z1OoihDCsBmmve9Hsj7FucT29vuorhzANBgkqhkiG9w0BAQEFAASC AQBHK7LhBZqljlBavv3/t/MU+hkpgBvljwMYmFIoATJPH5HW2DCFQSTDd3nL3E3e j4uFB+7i+BmkjElSojWMDVjzAozsnKxXhRyWTS52l2YY5UvxhIPbUmXGGK4sxc/6 eY5NX0j1BGAw239dKVDp8RFilbOTHWnnNMIh7IFW5olmneh/5N0e2ScgLyojya+X 51YOw6XeTIR2OT8iwlfJH5JrNYJE4uwc+cIsWe/XJNMjztCtl6bOK+MfVJkndMKh VkLWdusCY3ShDAXM9WuESK4ZKSn0SL27DiE4fmVA1Z5+jm8z0oiZpI0Q/Z8FO5fC HhetR6E7+BS1FMuHpybyEt3m ------918858437AB72C57193CA05A28D4C95A--