Lely core libraries 2.3.4
buf.c File Reference

This file is part of the CAN library; it contains the implementation of the CAN frame buffer. More...

#include "can.h"
#include <lely/can/buf.h>
#include <lely/util/errnum.h>
#include <assert.h>
#include <stdlib.h>
#include <string.h>
Include dependency graph for buf.c:

Go to the source code of this file.

Macros

#define LELY_CAN_BUF_SIZE   16
 The minimum size (in number of frames) of a CAN frame buffer.
 

Functions

void can_buf_fini (struct can_buf *buf)
 Finalizes a CAN frame buffer. More...
 
size_t can_buf_reserve (struct can_buf *buf, size_t n)
 Resizes a CAN frame buffer, if necessary, to make room for at least n additional frames. More...
 

Detailed Description

This file is part of the CAN library; it contains the implementation of the CAN frame buffer.

See also
lely/can/buf.h
Author
J. S. Seldenthuis jseld.nosp@m.enth.nosp@m.uis@l.nosp@m.ely..nosp@m.com

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.

Definition in file buf.c.

Function Documentation

◆ can_buf_fini()

void can_buf_fini ( struct can_buf buf)

Finalizes a CAN frame buffer.

See also
can_buf_init()

Definition at line 41 of file buf.c.

◆ can_buf_reserve()

size_t can_buf_reserve ( struct can_buf buf,
size_t  n 
)

Resizes a CAN frame buffer, if necessary, to make room for at least n additional frames.

Note that the new capacity can be larger than the requested capacity.

Returns
the new capacity of the buffer (in number of frames), or 0 on error. In the latter case, the error number can be obtained with get_errc().

Definition at line 53 of file buf.c.