1 2 /** \addtogroup hal */ 3 /** @{*/ 4 /* mbed Microcontroller Library 5 * Copyright (c) 2014-2015 ARM Limited 6 * 7 * Licensed under the Apache License, Version 2.0 (the "License"); 8 * you may not use this file except in compliance with the License. 9 * You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, software 14 * distributed under the License is distributed on an "AS IS" BASIS, 15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 16 * See the License for the specific language governing permissions and 17 * limitations under the License. 18 */ 19 #ifndef MBED_BUFFER_H 20 #define MBED_BUFFER_H 21 22 #include <stddef.h> 23 24 /** Generic buffer structure 25 */ 26 typedef struct buffer_s { 27 void *buffer; /**< the pointer to a buffer */ 28 size_t length; /**< the buffer length */ 29 size_t pos; /**< actual buffer position */ 30 uint8_t width; /**< The buffer unit width (8, 16, 32, 64), used for proper *buffer casting */ 31 } buffer_t; 32 33 #endif 34 35 /** @}*/ 36