mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-10-18 13:23:10 +08:00
Initial creation of sourceware repository
This commit is contained in:
111
gdb/rdi-share/buffers.h
Normal file
111
gdb/rdi-share/buffers.h
Normal file
@ -0,0 +1,111 @@
|
||||
/*
|
||||
* Copyright (C) 1995 Advanced RISC Machines Limited. All rights reserved.
|
||||
*
|
||||
* This software may be freely used, copied, modified, and distributed
|
||||
* provided that the above copyright notice is preserved in all copies of the
|
||||
* software.
|
||||
*/
|
||||
|
||||
/* -*-C-*-
|
||||
*
|
||||
* $Revision$
|
||||
* $Date$
|
||||
*
|
||||
*
|
||||
* Project: ANGEL
|
||||
*
|
||||
* Title: Public interface to buffer management
|
||||
*/
|
||||
|
||||
#ifndef angel_buffers_h
|
||||
#define angel_buffers_h
|
||||
|
||||
#include "chandefs.h" /* CHAN_HEADER_SIZE */
|
||||
|
||||
|
||||
/* the handle to a buffer */
|
||||
typedef unsigned char *p_Buffer;
|
||||
|
||||
|
||||
/*
|
||||
* Angel Packets are structured as a fixed size header, followed
|
||||
* by the packet data
|
||||
*/
|
||||
#ifdef TARGET
|
||||
# define BUFFERDATA(b) (b) /* channels layer takes care of it */
|
||||
#else
|
||||
# define BUFFERDATA(b) (&((b)[CHAN_HEADER_SIZE]))
|
||||
#endif
|
||||
|
||||
|
||||
/*
|
||||
* The buffer management function prototypes are only applicable
|
||||
* when compiling target code
|
||||
*/
|
||||
#ifdef TARGET
|
||||
|
||||
/*
|
||||
* Function: Angel_BufferQuerySizes
|
||||
* Purpose: Request infomation on the default and maximum buffer sizes
|
||||
* that can be allocated
|
||||
*
|
||||
* Params:
|
||||
* In/Out: default_size, max_size: pointers to place the
|
||||
* sizes in on return
|
||||
*/
|
||||
|
||||
void Angel_BufferQuerySizes(unsigned int *default_size,
|
||||
unsigned int *max_size );
|
||||
|
||||
/*
|
||||
* Function: Angel_RxEnginBuffersLeft
|
||||
* Purpose: return the number of free buffers
|
||||
*
|
||||
* Params:
|
||||
* Returns: number of free buffers
|
||||
*/
|
||||
unsigned int Angel_BuffersLeft( void );
|
||||
|
||||
/*
|
||||
* Function: Angel_BufferAlloc
|
||||
* Purpose: allocate a buffer that is at least req_size bytes long
|
||||
*
|
||||
* Params:
|
||||
* Input: req_size the required size of the buffer
|
||||
*
|
||||
* Returns: pointer to the buffer NULL if unable to
|
||||
* fulfil the request
|
||||
*/
|
||||
p_Buffer Angel_BufferAlloc(unsigned int req_size);
|
||||
|
||||
/*
|
||||
* Function: Angel_BufferRelease
|
||||
* Purpose: release a buffer back to the free pool
|
||||
*
|
||||
* Params:
|
||||
* Input: pointer to the buffer to free
|
||||
*/
|
||||
void Angel_BufferRelease(p_Buffer buffer);
|
||||
|
||||
|
||||
/* return values for angel_InitBuffers */
|
||||
typedef enum buf_init_error{
|
||||
INIT_BUF_OK,
|
||||
INIT_BUF_FAIL
|
||||
} buf_init_error;
|
||||
|
||||
/*
|
||||
* Function: Angel_InitBuffers
|
||||
* Purpose: Initalised and malloc the buffer pool
|
||||
*
|
||||
* Params:
|
||||
* Returns: see above
|
||||
*/
|
||||
|
||||
buf_init_error Angel_InitBuffers(void);
|
||||
|
||||
#endif /* def TARGET */
|
||||
|
||||
#endif /* ndef angel_buffers_h */
|
||||
|
||||
/* EOF buffers.h */
|
Reference in New Issue
Block a user