/* This demo program shows the static and dynamic */
/* configuration with respect to IPv4 and IPv6 */
/* Compiler Used - Visual Studio */
#include stdio.h
#include stdint.h
/* IP_ENABLE == 0: none */
/* IP_ENABLE == 1: IPv4 */
/* IP_ENABLE == 2: IPv6 */
/* IP_ENABLE == 3: IPv4 and IPv6 */
#define IP_ENABLE 0
#define TRUE 1
#define FALSE 0
typedef struct
{
int ipv4_enable;
int ipv6_enable;
}ipconfig;
ipconfig ip_config;
static void set_ip_config( ipconfig * ptr_config )
{
ip_config.ipv4_enable = ptr_config->ipv4_enable;
ip_config.ipv6_enable = ptr_config->ipv6_enable;
}
int main()
{
ipconfig ip; /*for getting the input*/
/*Static configuration*/
#if ( IP_ENABLE == 0 )
ip_config.ipv4_enable = FALSE;
ip_config.ipv6_enable = FALSE;
#elif ( IP_ENABLE == 1 )
ip_config.ipv4_enable = TRUE;
ip_config.ipv6_enable = FALSE;
#elif ( IP_ENABLE == 2 )
ip_config.ipv4_enable = FALSE;
ip_config.ipv6_enable = TRUE;
#elif ( IP_ENABLE == 3 )
ip_config.ipv4_enable = TRUE;
ip_config.ipv6_enable = TRUE;
#endif
printf( "IPv4: %d\t", ip_config.ipv4_enable );
printf( "IPv6: %d\n", ip_config.ipv6_enable );
/*Dynamic Configuration*/
(void)scanf( "%d", &(ip.ipv4_enable) );
(void)scanf( "%d", &(ip.ipv6_enable) );
set_ip_config( &ip );
printf( "IPv4: %d\t", ip_config.ipv4_enable );
printf( "IPv6: %d\n", ip_config.ipv6_enable );
if ( ip_config.ipv4_enable == TRUE )
{
/*Get the IPv4 address from the DHCP server*/
}
if ( ip_config.ipv6_enable == TRUE )
{
/*Get the IPv6 address from the DHCPv6 server*/
}
return 0;
}
Monday, 8 March 2021
Static and Dynamic Configuration in Embedded C Programming
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment