Files
bacnet_stack/src/bacnet/datalink/arcnet.h
T
Kari Argillander f806c5829b Run clang-format and enable CI check for it (#755)
* pre-commit: Update and enable clang-format check

There is newer version from clang-format so use that. We do not yet want
18 as that is little bit too new.

* Format some thing by hand which clang-format "breaks"

Clang-format will format some things little bit off in some cases.
Format some things by hand so we get cleaner end result.

* Run clang-format with

```
pre-commit run --all-files clang-format
```

We have already in previously checked places where clang-format does not
make good format and ignored those (hopefully most of the things).

---------

Co-authored-by: Kari Argillander <kari.argillander@fidelix.com>
2024-08-30 11:20:58 -05:00

64 lines
1.8 KiB
C

/**
* @file
* @brief BACnet ARCNET datalink interface and defines
* @author Steve Karg <skarg@users.sourceforge.net>
* @date 2004
* @copyright SPDX-License-Identifier: MIT
* @defgroup DLARCNET BACnet ARCNET DataLink Network Layer
* @ingroup DataLink
*/
#ifndef BACNET_ARCNET_H
#define BACNET_ARCNET_H
#include <stdbool.h>
#include <stdint.h>
#include <stddef.h>
/* BACnet Stack defines - first */
#include "bacnet/bacdef.h"
/* BACnet Stack API */
#include "bacnet/npdu.h"
/* specific defines for ARCNET */
#define ARCNET_HEADER_MAX (1 + 1 + 2 + 2 + 1 + 1 + 1 + 1)
#define ARCNET_MPDU_MAX (ARCNET_HEADER_MAX + MAX_PDU)
#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */
BACNET_STACK_EXPORT
bool arcnet_valid(void);
BACNET_STACK_EXPORT
void arcnet_cleanup(void);
BACNET_STACK_EXPORT
bool arcnet_init(char *interface_name);
/* function to send a packet out the 802.2 socket */
/* returns zero on success, non-zero on failure */
BACNET_STACK_EXPORT
int arcnet_send_pdu(
BACNET_ADDRESS *dest, /* destination address */
BACNET_NPDU_DATA *npdu_data, /* network information */
uint8_t *pdu, /* any data to be sent - may be null */
unsigned pdu_len); /* number of bytes of data */
/* receives an framed packet */
/* returns the number of octets in the PDU, or zero on failure */
BACNET_STACK_EXPORT
uint16_t arcnet_receive(
BACNET_ADDRESS *src, /* source address */
uint8_t *pdu, /* PDU data */
uint16_t max_pdu, /* amount of space available in the PDU */
unsigned timeout); /* milliseconds to wait for a packet */
BACNET_STACK_EXPORT
void arcnet_get_my_address(BACNET_ADDRESS *my_address);
BACNET_STACK_EXPORT
void arcnet_get_broadcast_address(
BACNET_ADDRESS *dest); /* destination address */
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif