#include <stdio.h>
#include <stdlib.h>
#define LARGE_INFO_LENGTH 1024
enum tt__IPType { tt__IPv4, tt__IPv6 };
struct tt__IPAddress
{
enum tt__IPType Type; /* required element of type tt:IPType */
char *IPv4Address; /* optional element of type tt:IPv4Address */
char *IPv6Address; /* optional element of type tt:IPv6Address */
};
struct tt__DNSInformation
{
struct tt__IPAddress* DNSManual;
};
int main()
{
struct tt__DNSInformation* DNSInformation;
char dns_string[] = "192.168.2.254";
DNSInformation
= malloc(sizeof(struct tt__DNSInformation
)); DNSInformation
->DNSManual
= malloc(sizeof(struct tt__IPAddress
)); DNSInformation
->DNSManual
->IPv4Address
= malloc(sizeof(char) * LARGE_INFO_LENGTH
); strncpy(DNSInformation
->DNSManual
->IPv4Address
, dns_string
, LARGE_INFO_LENGTH
- 1);
printf("%s\n", DNSInformation
->DNSManual
->IPv4Address
); return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdGRsaWIuaD4KIAojZGVmaW5lIExBUkdFX0lORk9fTEVOR1RIIDEwMjQKIAplbnVtIHR0X19JUFR5cGUgeyB0dF9fSVB2NCwgdHRfX0lQdjYgfTsKIApzdHJ1Y3QgdHRfX0lQQWRkcmVzcwp7CiAgZW51bSB0dF9fSVBUeXBlIFR5cGU7ICAgLyogcmVxdWlyZWQgZWxlbWVudCBvZiB0eXBlIHR0OklQVHlwZSAqLwogIGNoYXIgKklQdjRBZGRyZXNzOyAgLyogb3B0aW9uYWwgZWxlbWVudCBvZiB0eXBlIHR0OklQdjRBZGRyZXNzICovCiAgY2hhciAqSVB2NkFkZHJlc3M7ICAvKiBvcHRpb25hbCBlbGVtZW50IG9mIHR5cGUgdHQ6SVB2NkFkZHJlc3MgKi8KfTsKIApzdHJ1Y3QgdHRfX0ROU0luZm9ybWF0aW9uCnsKICBzdHJ1Y3QgdHRfX0lQQWRkcmVzcyogRE5TTWFudWFsOwp9OwogCmludCBtYWluKCkKewogIHN0cnVjdCB0dF9fRE5TSW5mb3JtYXRpb24qIEROU0luZm9ybWF0aW9uOwogIGNoYXIgZG5zX3N0cmluZ1tdID0gIjE5Mi4xNjguMi4yNTQiOwogIAogIEROU0luZm9ybWF0aW9uID0gbWFsbG9jKHNpemVvZihzdHJ1Y3QgdHRfX0ROU0luZm9ybWF0aW9uKSk7CiAgRE5TSW5mb3JtYXRpb24tPkROU01hbnVhbCA9IG1hbGxvYyhzaXplb2Yoc3RydWN0IHR0X19JUEFkZHJlc3MpKTsKICBETlNJbmZvcm1hdGlvbi0+RE5TTWFudWFsLT5JUHY0QWRkcmVzcyA9IG1hbGxvYyhzaXplb2YoY2hhcikgKiBMQVJHRV9JTkZPX0xFTkdUSCk7CiAgc3RybmNweShETlNJbmZvcm1hdGlvbi0+RE5TTWFudWFsLT5JUHY0QWRkcmVzcywgZG5zX3N0cmluZywgTEFSR0VfSU5GT19MRU5HVEggLSAxKTsKICAKICBwcmludGYoIiVzXG4iLCBETlNJbmZvcm1hdGlvbi0+RE5TTWFudWFsLT5JUHY0QWRkcmVzcyk7CiAgcmV0dXJuIDA7Cn0=