/*
 * Copyright(C) 2010 Крипто-Про, ООО
 *
 * Этот файл содержит информацию, являющуюся
 * собственностью компании Крипто-Про.
 *
 * Любая часть этого файла не может быть скопирована,
 * исправлена, переведена на другие языки,
 * локализована или модифицирована любым способом,
 * откомпилирована, передана по сети с или на
 * любую компьютерную систему без предварительного
 * заключения соглашения с компанией Крипто-Про.
 */

/*!
 * \file $RCSfile$
 * \version $Revision: 127051 $
 * \date $Date:: 2015-09-09 15:08:20 +0300#$
 * \author $Author: pav $
 *
 * \brief Обертки имперсонализации и защиты вокруг POSIX <sys/socket.h>
 *
 */

#ifndef sup_sys_types_h_
#define sup_sys_types_h_

#ifdef UNIX
    #include <sys/types.h>
#else
    #include <Winsock2.h>
#endif

#include "reader/support.h"

#ifdef __cplusplus
extern "C" {
#endif

#if defined UNIX
#   define INVALID_SOCKET -1
#endif /* UNIX */
#if !defined(_WINSOCKAPI_) && !defined(_WINSOCK2API_) && !defined _WIN32
#   define SOCKET int
#endif

#if !defined UNIX
    typedef int socklen_t;
    #define SUP_SCKT_VOID   char
    #define SUP_SSIZE_T     int
#else
    #define SUP_SCKT_VOID   void
    #define SUP_SSIZE_T     ssize_t
#endif

#ifdef __cplusplus
}
#endif
#endif /* sup_sys_types_h_ */
