blob: b18f8fd31b42997752d46fd07366b4dac60eedbd [file] [log] [blame]
robert.swiecki3bb518c2010-10-14 00:48:24 +00001/*
robert.swiecki@gmail.com3b630b42015-02-16 10:53:53 +00002 *
robert.swiecki@gmail.com81189852015-02-14 23:44:55 +00003 * honggfuzz - file operations
4 * -----------------------------------------
robert.swiecki@gmail.com3b630b42015-02-16 10:53:53 +00005 *
robert.swiecki@gmail.com772b33d2015-02-14 20:35:00 +00006 * Author: Robert Swiecki <swiecki@google.com>
robert.swiecki@gmail.com3b630b42015-02-16 10:53:53 +00007 *
robert.swiecki@gmail.com772b33d2015-02-14 20:35:00 +00008 * Copyright 2010-2015 by Google Inc. All Rights Reserved.
robert.swiecki@gmail.com3b630b42015-02-16 10:53:53 +00009 *
10 * Licensed under the Apache License, Version 2.0 (the "License"); you may
11 * not use this file except in compliance with the License. You may obtain
robert.swiecki@gmail.com772b33d2015-02-14 20:35:00 +000012 * a copy of the License at
robert.swiecki@gmail.com3b630b42015-02-16 10:53:53 +000013 *
robert.swiecki@gmail.com772b33d2015-02-14 20:35:00 +000014 * http://www.apache.org/licenses/LICENSE-2.0
robert.swiecki@gmail.com3b630b42015-02-16 10:53:53 +000015 *
robert.swiecki@gmail.com772b33d2015-02-14 20:35:00 +000016 * Unless required by applicable law or agreed to in writing, software
17 * distributed under the License is distributed on an "AS IS" BASIS,
18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
19 * implied. See the License for the specific language governing
20 * permissions and limitations under the License.
robert.swiecki@gmail.com3b630b42015-02-16 10:53:53 +000021 *
robert.swiecki@gmail.com772b33d2015-02-14 20:35:00 +000022 */
robert.swiecki3bb518c2010-10-14 00:48:24 +000023
24#ifndef _FILES_H_
25#define _FILES_H_
26
27#include <stdint.h>
robert.swiecki@gmail.com66ee2752015-02-16 20:49:44 +000028#include <unistd.h>
29
robert.swiecki3bb518c2010-10-14 00:48:24 +000030extern bool files_init(honggfuzz_t * hfuzz);
31
robert.swiecki@gmail.com4a7a9d82015-03-01 01:25:16 +000032extern size_t files_readFileToBufMax(char *fileName, uint8_t * buf, size_t fileMaxSz);
33
robert.swiecki@gmail.comdc8403e2015-03-01 01:33:00 +000034extern bool files_writeBufToFile(char *fileName, uint8_t * buf, size_t fileSz, int flags);
robert.swiecki3bb518c2010-10-14 00:48:24 +000035
robert.swiecki@gmail.com26a9ab72015-02-22 13:41:18 +000036extern bool files_writeToFd(int fd, uint8_t * buf, size_t fileSz);
robert.swiecki3bb518c2010-10-14 00:48:24 +000037
robert.swiecki@gmail.comad6af222015-02-14 01:56:08 +000038extern bool files_writeStrToFd(int fd, char *str);
39
robert.swiecki@gmail.com26a9ab72015-02-22 13:41:18 +000040extern bool files_readFromFd(int fd, uint8_t * buf, size_t fileSz);
41
robert.swiecki3bb518c2010-10-14 00:48:24 +000042extern bool files_writePatternToFd(int fd, off_t size, unsigned char p);
43
groebert@google.com1bd4c212013-06-19 11:13:56 +000044extern bool files_exists(char *fileName);
45
46extern char *files_basename(char *fileName);
groebert@google.com1c7e3b02013-06-19 09:27:38 +000047
robert.swiecki@gmail.com4f1124f2015-04-21 17:12:22 +000048extern bool files_parseDictionary(honggfuzz_t * hfuzz);
49
robert.swiecki3bb518c2010-10-14 00:48:24 +000050#endif