#ifndef DDP_PORT_H
#define DDP_PORT_H

#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include "base/at_types.h"

#define PORT_char(s) (char *)s
#define PORT_cchar(s) (const char *)s

#define PORT_byte(s) (byte *)s
#define PORT_cbyte(s) (const byte *)s

#define PORT_snprintf_(buf, sz, fmt) _snprintf(PORT_char(buf), sz, PORT_cchar(fmt) )
#define PORT_snprintf_1(buf, sz, fmt, pars) _snprintf(PORT_char(buf), sz, PORT_cchar(fmt), pars)
#define PORT_snprintf_2(buf, sz, fmt, par1, par2) _snprintf(PORT_char(buf), sz, PORT_cchar(fmt), par1, par2)
#define PORT_snprintf_6(buf, sz, fmt, par1, par2, par3, par4, par5, par6) _snprintf(PORT_char(buf), sz, PORT_cchar(fmt), par1, par2, par3, par4, par5, par6)
#define PORT_strlen(str) std::strlen(PORT_cchar(str) )
#define PORT_strncpy(buf, str, sz) strncpy(PORT_char(buf), PORT_cchar(str), sz)
#define PORT_stricmp(str1, str2) stricmp(PORT_cchar(str1), PORT_cchar(str2) )
#define PORT_itoa(num, str) itoa(num, PORT_char(str), 10)
#define PORT_c_str(str) (const byte *)str.c_str()

#endif