a firstworks project
Rudiments
About Documentation Download Licensing News

Using the protocolentry class


Introduction

The protocolentry class provides methods for retrieving network protocol definitions. These are usually defined in a file like /etc/protocols on unix-like systems or C:\Windows\System32\drivers\etc\protocol on Windows, or are served from another source via the name-service switch.

Protocols can be looked up by name or number.

Lookup By Name

This example retrieves network protocol information for the "tcp" protocol.

#include <rudiments/protocolentry.h>
#include <rudiments/stdio.h>

int main(int argc, const char **argv) {

	// get the protocol entry for the "tcp" protocol
	protocolentry	pe;
	pe.open("tcp");

	// print out details
	stdoutput.printf("	Name:		%s\n",pe.getName());
	stdoutput.printf("	Alias list:\n");
	for (uint32_t i=0; pe.getAliasList() && pe.getAliasList()[i]; i++) {
		stdoutput.printf("		%s\n",pe.getAliasList()[i]);
	}
	stdoutput.printf("	Number:		%d\n",pe.getNumber());
	stdoutput.printf("\n");
}

Lookup By Number

This example retrieves network protocol information for "protocol number 6".

#include <rudiments/protocolentry.h>
#include <rudiments/stdio.h>

int main(int argc, const char **argv) {

	// get the protocol entry for "protocol number 6"
	protocolentry	pe;
	pe.open(6);

	// print out details
	stdoutput.printf("	Name:		%s\n",pe.getName());
	stdoutput.printf("	Alias list:\n");
	for (uint32_t i=0; pe.getAliasList() && pe.getAliasList()[i]; i++) {
		stdoutput.printf("		%s\n",pe.getAliasList()[i]);
	}
	stdoutput.printf("	Number:		%d\n",pe.getNumber());
	stdoutput.printf("\n");
}
Copyright 2017 - David Muse - Contact