Jpp test-rotations-old
the software that should make you happy
Loading...
Searching...
No Matches
getIPaddress.cc File Reference

Example program to print IP address. More...

#include <string>
#include <vector>
#include <iostream>
#include <iomanip>
#include "JSystem/JNetwork.hh"
#include "Jeep/JParser.hh"
#include "Jeep/JMessage.hh"

Go to the source code of this file.

Functions

int main (int argc, char *argv[])
 

Detailed Description

Example program to print IP address.

Author
mdejong

Definition in file getIPaddress.cc.

Function Documentation

◆ main()

int main ( int argc,
char * argv[] )

Definition at line 27 of file getIPaddress.cc.

28{
29 using namespace std;
30 using namespace JPP;
31
32 string host_name;
33 int option;
34
35 try {
36
37 JParser<> zap("Example program to print IP address.");
38
39 zap['H'] = make_field(host_name) = "localhost";
40 zap['O'] = make_field(option, "option "
41 << IP_address << " -> IP address; "
42 << IP_subhex << " -> IP sub-address (hex); "
43 << IP_subdec << " -> IP sub-address (dec); "
44 << Hostname << " -> host name") = IP_address, IP_subhex, IP_subdec, Hostname;
45
46 zap(argc, argv);
47 }
48 catch(const exception &error) {
49 FATAL(error.what() << endl);
50 }
51
52 int ip = getIPnumber(host_name);
53
54 switch (option) {
55
56 case IP_address:
57 cout << getIPaddress(ip) << endl; return 0;
58
59 case IP_subhex:
60 cout << hex << getSubaddress(ip) << endl; return 0;
61
62 case IP_subdec:
63 cout << dec << getSubaddress(ip) << endl; return 0;
64
65 case Hostname:
66 cout << dec << getHostname(ip) << endl; return 0;
67
68 default:
69 FATAL("Invalid option " << option << endl);
70 }
71}
#define FATAL(A)
Definition JMessage.hh:67
#define make_field(A,...)
macro to convert parameter to JParserTemplateElement object
Definition JParser.hh:2142
Utility class to parse command line options.
Definition JParser.hh:1698
This name space includes all other name spaces (except KM3NETDAQ, KM3NET and ANTARES).
unsigned short getSubaddress(const int ip)
Get host identifier within network.
Definition JNetwork.hh:190
int getIPnumber(const std::string &host_name)
Get IP number.
Definition JNetwork.hh:117
std::string getHostname()
Get host name.
Definition JNetwork.hh:77