1*5c4dab75SAndroid Build Coastguard Worker /* 2*5c4dab75SAndroid Build Coastguard Worker * Copyright (C) 2017 The Android Open Source Project 3*5c4dab75SAndroid Build Coastguard Worker * 4*5c4dab75SAndroid Build Coastguard Worker * Licensed under the Apache License, Version 2.0 (the "License"); 5*5c4dab75SAndroid Build Coastguard Worker * you may not use this file except in compliance with the License. 6*5c4dab75SAndroid Build Coastguard Worker * You may obtain a copy of the License at 7*5c4dab75SAndroid Build Coastguard Worker * 8*5c4dab75SAndroid Build Coastguard Worker * http://www.apache.org/licenses/LICENSE-2.0 9*5c4dab75SAndroid Build Coastguard Worker * 10*5c4dab75SAndroid Build Coastguard Worker * Unless required by applicable law or agreed to in writing, software 11*5c4dab75SAndroid Build Coastguard Worker * distributed under the License is distributed on an "AS IS" BASIS, 12*5c4dab75SAndroid Build Coastguard Worker * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13*5c4dab75SAndroid Build Coastguard Worker * See the License for the specific language governing permissions and 14*5c4dab75SAndroid Build Coastguard Worker * limitations under the License. 15*5c4dab75SAndroid Build Coastguard Worker * 16*5c4dab75SAndroid Build Coastguard Worker * Trivial managed buffer structure 17*5c4dab75SAndroid Build Coastguard Worker */ 18*5c4dab75SAndroid Build Coastguard Worker 19*5c4dab75SAndroid Build Coastguard Worker #ifndef ESE_REPLAY_BUFFER_H__ 20*5c4dab75SAndroid Build Coastguard Worker #define ESE_REPLAY_BUFFER_H__ 1 21*5c4dab75SAndroid Build Coastguard Worker 22*5c4dab75SAndroid Build Coastguard Worker #include <ctype.h> 23*5c4dab75SAndroid Build Coastguard Worker #include <stdint.h> 24*5c4dab75SAndroid Build Coastguard Worker #include <stdbool.h> 25*5c4dab75SAndroid Build Coastguard Worker #include <stdio.h> 26*5c4dab75SAndroid Build Coastguard Worker #include <stdlib.h> 27*5c4dab75SAndroid Build Coastguard Worker #include <string.h> 28*5c4dab75SAndroid Build Coastguard Worker #include <unistd.h> 29*5c4dab75SAndroid Build Coastguard Worker 30*5c4dab75SAndroid Build Coastguard Worker struct Buffer { 31*5c4dab75SAndroid Build Coastguard Worker uint32_t len; 32*5c4dab75SAndroid Build Coastguard Worker uint32_t size; 33*5c4dab75SAndroid Build Coastguard Worker uint8_t *buffer; 34*5c4dab75SAndroid Build Coastguard Worker }; 35*5c4dab75SAndroid Build Coastguard Worker 36*5c4dab75SAndroid Build Coastguard Worker bool buffer_init(struct Buffer *b, uint32_t len); 37*5c4dab75SAndroid Build Coastguard Worker void buffer_free(struct Buffer *b); 38*5c4dab75SAndroid Build Coastguard Worker bool buffer_read_hex(struct Buffer *b, FILE *fp, bool consume_newline); 39*5c4dab75SAndroid Build Coastguard Worker void buffer_dump(const struct Buffer *b, const char *prefix, const char *name, 40*5c4dab75SAndroid Build Coastguard Worker uint32_t limit, FILE *fp); 41*5c4dab75SAndroid Build Coastguard Worker 42*5c4dab75SAndroid Build Coastguard Worker #endif /* ESE_REPLAY_BUFFER_H__ */ 43