Source code
Revision control
Copy as Markdown
Other Tools
/*
* util.h
*
* Utilities used by the test apps
*
* John A. Foley
* Cisco Systems, Inc.
*/
/*
*
* Copyright (c) 2014-2017, Cisco Systems, Inc.
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* Redistributions in binary form must reproduce the above
* copyright notice, this list of conditions and the following
* disclaimer in the documentation and/or other materials provided
* with the distribution.
*
* Neither the name of the Cisco Systems, Inc. nor the names of its
* contributors may be used to endorse or promote products derived
* from this software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
* COPYRIGHT HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
* STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
*
*/
#ifndef SRTP_TEST_UTIL_H
#define SRTP_TEST_UTIL_H
#include "srtp.h"
// test check macros and functions
void check_ok_impl(srtp_err_status_t status, const char *file, int line);
void check_return_impl(srtp_err_status_t status,
srtp_err_status_t expected,
const char *file,
int line);
void check_impl(int condition,
const char *file,
int line,
const char *condition_str);
void check_buffer_equal_impl(const char *buffer1,
const char *buffer2,
int buffer_length,
const char *file,
int line);
void check_overrun_impl(const char *buffer,
int offset,
int buffer_length,
const char *file,
int line);
void overrun_check_prepare(char *buffer, int offset, int buffer_len);
#define CHECK_OK(status) check_ok_impl((status), __FILE__, __LINE__)
#define CHECK_RETURN(status, expected) \
check_return_impl((status), (expected), __FILE__, __LINE__)
#define CHECK(condition) check_impl((condition), __FILE__, __LINE__, #condition)
#define CHECK_BUFFER_EQUAL(buffer1, buffer2, length) \
check_buffer_equal_impl((buffer1), (buffer2), (length), __FILE__, __LINE__)
#define CHECK_OVERRUN(buffer, offset, length) \
check_overrun_impl((buffer), (offset), (length), __FILE__, __LINE__)
#define MAX_PRINT_STRING_LEN 1024
int hex_string_to_octet_string(char *raw, char *hex, int len);
char *octet_string_hex_string(const void *s, int length);
int base64_string_to_octet_string(char *raw, int *pad, char *base64, int len);
#endif