LibJuno
0.23.0
LibJuno is a lightweight C99 library designed specifically for embedded systems.
Loading...
Searching...
No Matches
spi_io_api.h
Go to the documentation of this file.
1
/*
2
MIT License
3
4
Copyright (c) 2025 Robin A. Onsay
5
6
Permission is hereby granted, free of charge, to any person obtaining
7
a copy of this software and associated documentation files
8
(the "Software"), to deal in the Software without restriction,
9
including without limitation the rights to use, copy, modify, merge,
10
publish, distribute, sublicense, and/or sell copies of the Software,
11
and to permit persons to whom the Software is furnished to do so,
12
subject to the following conditions:
13
14
The above copyright notice and this permission notice shall be
15
included in all copies or substantial portions of the Software.
16
*/
17
27
#ifndef JUNO_SPI_IO_API_H
28
#define JUNO_SPI_IO_API_H
29
#include "
juno/status.h
"
30
#include "
juno/module.h
"
31
#include "
juno/time/time_api.h
"
32
#include <stdbool.h>
33
#include <stdint.h>
34
#ifdef __cplusplus
35
extern
"C"
36
{
37
#endif
38
39
typedef
struct
JUNO_SPI_IO_API_TAG
JUNO_SPI_IO_API_T
;
40
JUNO_MODULE_DECLARE
(JUNO_SPI_IO_T);
41
JUNO_MODULE_BASE_DECLARE
(JUNO_SPI_IO_BASE_T);
42
43
JUNO_MODULE_BASE
(JUNO_SPI_IO_BASE_T,
JUNO_SPI_IO_API_T
,
JUNO_MODULE_EMPTY
);
44
45
46
struct
JUNO_SPI_IO_API_TAG
47
{
49
JUNO_STATUS_T
(*
Transaction
)(JUNO_SPI_IO_T *ptIo,
char
*pcReadBuff,
size_t
zReadBuffSize,
const
void
*pvWriteBuff,
size_t
zWriteBuffSize);
50
};
51
52
#ifdef __cplusplus
53
}
54
#endif
55
#endif
// JUNO_SPI_IO_API_H
module.h
JUNO_MODULE_BASE
#define JUNO_MODULE_BASE(name, API, members)
Definition
module.h:81
JUNO_MODULE_EMPTY
#define JUNO_MODULE_EMPTY
Definition
module.h:50
JUNO_MODULE_BASE_DECLARE
#define JUNO_MODULE_BASE_DECLARE(name)
Definition
module.h:31
JUNO_MODULE_DECLARE
#define JUNO_MODULE_DECLARE(name)
Definition
module.h:26
status.h
JUNO_STATUS_T
enum JUNO_STATUS_TAG JUNO_STATUS_T
JUNO_SPI_IO_API_TAG
Definition
spi_io_api.h:47
JUNO_SPI_IO_API_TAG::Transaction
JUNO_STATUS_T(* Transaction)(JUNO_SPI_IO_T *ptIo, char *pcReadBuff, size_t zReadBuffSize, const void *pvWriteBuff, size_t zWriteBuffSize)
Perform an SPI transaction.
Definition
spi_io_api.h:49
time_api.h
include
juno
io
spi_io_api.h
Generated by
1.9.8