Skip to content
Snippets Groups Projects
Select Git revision
  • dailybuild_linux-x64
  • dailybuild_win32
  • master default protected
  • sqlite
  • rip_abstraction
  • dailybuild_macos-armv8
  • dd_file_lister_filanem_in_desc_color
  • mode7
  • dd_msg_reader_are_you_there_warning_improvement
  • c23-playing
  • syncterm-1.3
  • syncterm-1.2
  • test-build
  • hide_remote_connection_with_telgate
  • 638-can-t-control-c-during-a-file-search
  • add_body_to_pager_email
  • mingw32-build
  • cryptlib-3.4.7
  • ree/mastermind
  • new_user_dat
  • sbbs320d
  • syncterm-1.6
  • syncterm-1.5
  • syncterm-1.4
  • sbbs320b
  • syncterm-1.3
  • syncterm-1.2
  • syncterm-1.2rc6
  • syncterm-1.2rc5
  • push
  • syncterm-1.2rc4
  • syncterm-1.2rc2
  • syncterm-1.2rc1
  • sbbs319b
  • sbbs318b
  • goodbuild_linux-x64_Sep-01-2020
  • goodbuild_win32_Sep-01-2020
  • goodbuild_linux-x64_Aug-31-2020
  • goodbuild_win32_Aug-31-2020
  • goodbuild_win32_Aug-30-2020
40 results

netwrap.h

Blame
    • Deucе's avatar
      c5584fee
      Clean up and improve 6e516aed · c5584fee
      Deucе authored
      The first entry I tried adding was "Example..." which was not a
      valid hostname, but was copied into the address and looked silly.
      
      Now only copies into address if it's a valid, usable hostname.
      
      Also, add a convenience macro to check if a connection type uses
      the network or not.
      
      New functions in netwrap:
      bool isValidHostname(const char *str);
      bool isValidAddressString(const char *str);
      bool isResolvableHostname(const char *str);
      
      We ust the last one (which calls the other two) for this feature now.
      c5584fee
      History
      Clean up and improve 6e516aed
      Deucе authored
      The first entry I tried adding was "Example..." which was not a
      valid hostname, but was copied into the address and looked silly.
      
      Now only copies into address if it's a valid, usable hostname.
      
      Also, add a convenience macro to check if a connection type uses
      the network or not.
      
      New functions in netwrap:
      bool isValidHostname(const char *str);
      bool isValidAddressString(const char *str);
      bool isResolvableHostname(const char *str);
      
      We ust the last one (which calls the other two) for this feature now.
    netwrap.h 2.00 KiB
    /* Network related wrapper functions */
    
    /****************************************************************************
     * @format.tab-size 4		(Plain Text/Source Code File Header)			*
     * @format.use-tabs true	(see http://www.synchro.net/ptsc_hdr.html)		*
     *																			*
     * Copyright Rob Swindell - http://www.synchro.net/copyright.html			*
     *																			*
     * This library is free software; you can redistribute it and/or			*
     * modify it under the terms of the GNU Lesser General Public License		*
     * as published by the Free Software Foundation; either version 2			*
     * of the License, or (at your option) any later version.					*
     * See the GNU Lesser General Public License for more details: lgpl.txt or	*
     * http://www.fsf.org/copyleft/lesser.html									*
     *																			*
     * For Synchronet coding style and modification guidelines, see				*
     * http://www.synchro.net/source.html										*
     *																			*
     * Note: If this box doesn't appear square, then you need to fix your tabs.	*
     ****************************************************************************/
    
    #ifndef _NETWRAP_H
    #define _NETWRAP_H
    
    #include <stddef.h>		/* size_t */
    #include "str_list.h"	/* string list functions and types */
    #include "wrapdll.h"
    
    #if defined(_WIN32)
    	#include <winsock2.h>
    	#include <ws2tcpip.h>	// struct in6_addr
    #else
    	#include <netinet/in.h>
    #endif
    
    #define IPv4_LOCALHOST	0x7f000001U	/* 127.0.0.1 */
    
    #if defined(__cplusplus)
    extern "C" {
    #endif
    
    DLLEXPORT const char* 	getHostNameByAddr(const char*);
    DLLEXPORT str_list_t	getNameServerList(void);
    DLLEXPORT void			freeNameServerList(str_list_t);
    DLLEXPORT const char*	IPv4AddressToStr(uint32_t, char* dest, size_t size);
    DLLEXPORT uint32_t		parseIPv4Address(const char*);
    DLLEXPORT struct in6_addr parseIPv6Address(const char*);
    DLLEXPORT bool isValidHostname(const char *str);
    DLLEXPORT bool isValidAddressString(const char *str);
    DLLEXPORT bool isResolvableHostname(const char *str);
    
    #if defined(__cplusplus)
    }
    #endif
    
    #endif	/* Don't add anything after this line */