// Rowley AVR C Compiler, runtime support.
//
// Copyright (c) 2004 Rowley Associates Limited.
//
// This file may be distributed under the terms of the License Agreement
// provided with this software.
//
// THIS FILE IS PROVIDED AS IS WITH NO WARRANTY OF ANY KIND, INCLUDING THE
// WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.

#ifndef __pgmspace_H
#define __pgmspace_H

#include "stdio_c.h"
#include "string_c.h"

/*! \brief Write a code string to standard output \ingroup Character and string I/O functions \synopsis

  \desc See \ref puts
*/
#define puts_P puts_c

/*! \brief Read code string formatted text from standard input \ingroup Formatted input functions \synopsis

  \desc See \ref scanf
*/
#define scanf_P scanf_c

/*! \brief Read code string formatted text from code string \ingroup Formatted input functions \synopsis

  \desc See \ref sscanf
*/
#define sscanf_P sscanf_c

/*! \brief Read code string formatted text from standard using variable argument context \ingroup Formatted input functions \synopsis

  \desc See \ref vscanf
*/
#define vscanf_P vscanf_c

/*! \brief Read code string formatted text from a string using variable argument context \ingroup Formatted input functions \synopsis

  \desc See \ref vsscanf
*/
#define vsscanf_P vsscanf_c

/*! \brief Write code string formatted text to standard output \ingroup Formatted output functions \synopsis

  \desc See \ref printf
*/
#define printf_P printf_c

/*! \brief Write code string formatted text to a string with truncation \ingroup Formatted output functions \synopsis

  \desc See \ref snprintf
*/
#define snprintf_P snprintf_c

/*! \brief Write code string formatted text to a string \ingroup Formatted output functions \synopsis

  \desc See \ref sprintf
*/
#define sprintf_P sprintf_c

/*! \brief Write code string formatted text to standard output using variable argument context \ingroup Formatted output functions \synopsis

  \desc See \ref vprintf
*/
#define vprintf_P vprintf_c

/*! \brief Write code string formatted text to a string with truncation using variable argument context \ingroup Formatted output functions \synopsis

  \desc See \ref vsnprintf
*/
#define vsnprintf_P vsnprintf_c

/*! \brief Write code string formatted text to a string using variable argument context \ingroup Formatted output functions \synopsis

   \desc See \ref vsprintf
*/
#define vsprintf_P vsprintf_c

/*! \brief Copy code memory to data memory\ingroup Copying functions \synopsis

  \description see \ref memcpy
*/
#define memcpy_P memcpy_c

/*! \brief Copy code string to data string\ingroup Copying functions \synopsis

  \description see \ref strcpy
*/
#define strcpy_P strcpy_c

/*! \brief Copy code string to data string up to a maximum length \ingroup Copying functions \synopsis

  \description see \ref strncpy
*/
#define strncpy_P strncpy_c

/*! \brief Concatenate a code string to a data string \ingroup Copying functions \synopsis

  \description see \ref strcat
*/
#define strcat_P strcat_c

//#define strncat_P strncat_c

/*! \brief Compare code memory with data memory\ingroup Comparison functions \synopsis

  \description see \ref memcmp
*/
#define memcmp_P memcmp_c

/*! \brief Compare a code string to a data string \ingroup Comparison functions \synopsis

  \description see \ref strcmp
*/
#define strcmp_P strcmp_c

/*! \brief Compare a code string to a data string up to a maximum length \ingroup Comparison functions \synopsis

  \description see \ref strncmp
*/
#define strncmp_P strncmp_c

/*! \brief Calculate length of a code string \ingroup Miscellaneous functions \synopsis

  \description see \ref strlen
*/
#define strlen_P strlen_c

#endif