1 /*************************************************************************** 2 * Copyright (c) 2009-2010 Open Information Security Foundation 3 * Copyright (c) 2010-2013 Qualys, Inc. 4 * All rights reserved. 5 * 6 * Redistribution and use in source and binary forms, with or without 7 * modification, are permitted provided that the following conditions are 8 * met: 9 * 10 * - Redistributions of source code must retain the above copyright 11 * notice, this list of conditions and the following disclaimer. 12 13 * - Redistributions in binary form must reproduce the above copyright 14 * notice, this list of conditions and the following disclaimer in the 15 * documentation and/or other materials provided with the distribution. 16 17 * - Neither the name of the Qualys, Inc. nor the names of its 18 * contributors may be used to endorse or promote products derived from 19 * this software without specific prior written permission. 20 * 21 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 22 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 23 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 24 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 25 * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 26 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 27 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 28 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 29 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 30 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 31 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 32 ***************************************************************************/ 33 34 /** 35 * @file 36 * @author Ivan Ristic <ivanr@webkreator.com> 37 */ 38 39 #ifndef _TEST_H 40 #define _TEST_H 41 42 #include <fcntl.h> 43 #include <stdio.h> 44 #include <stdlib.h> 45 #include <sys/types.h> 46 #include <sys/stat.h> 47 48 #define UNKNOWN 0 49 #define CLIENT 1 50 #define SERVER 2 51 52 #ifndef O_BINARY 53 #define O_BINARY 0 54 #endif 55 56 #ifdef __cplusplus 57 extern "C" { 58 #endif 59 60 typedef struct test_t test_t; 61 62 struct test_t { 63 char *buf; 64 size_t pos; 65 size_t len; 66 67 char *chunk; 68 size_t chunk_offset; 69 size_t chunk_len; 70 int chunk_direction; 71 }; 72 73 int test_run(const char *testsdir, const char *testname, htp_cfg_t *cfg, htp_connp_t **connp); 74 int test_run_ex(const char *testsdir, const char *testname, htp_cfg_t *cfg, htp_connp_t **connp, int clone_count); 75 76 int test_next_chunk(test_t *test); 77 78 #ifdef __cplusplus 79 } 80 #endif 81 82 #endif /* _TEST_H */ 83 84