ipcalc.c

Section: C Library Functions (3)
Updated: 30 Apr 2001
Page Index
 

NOME

ipcalc.c - Fornisce utilità per manipolare indirizzi IP.  

SINTASSI


#include <ctype.h>
#include <popt.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <netdb.h>

 

Define


#define IPBITS (sizeof(unsigned long int) * 8)
il numero di bits in un indirizzo IP.
#define IPBYTES (sizeof(unsigned long int))
il numero di bytes in un indirizzo IP.  

Funzioni


unsigned long int prefix2mask (int prefix)
crea una netmask da uno specificato numero di bits.
int mask2prefix (unsigned long int mask)
calcola il numeo di bits mascherati da una netmask.
unsigned long int default_netmask (unsigned long int addr)
ritorna la netmask di default (canonica) associata con l'indirizzo IP specificato.
unsigned long int calc_broadcast (unsigned long int addr, int prefix)
calcola l'indirizzo di broadcast dato un indirizzo IP e e una lunghezza del prefix.
unsigned long int calc_network (unsigned long int addr, int prefix)
calcola l'indirizzo di rete per uno specificato indirizzo e prefix.
const char* get_hostname (unsigned long int addr)
ritorna l'hostname associato all'indirizzo IP specificato.
int main (int argc, const char **argv)
programma wrapper per le funzioni di ipcalc.  

DESCRIZIONE DETTAGLIATA

fornisce utilità per manipolare indirizzi IP.


 ipcalc fornisce utilità e una interfaccia a riga di comando per manipolare indirizzi IP e calcolare vari aspetti di un indirizzo ip/netmask/indirizzo di rete/prefix/etc.

Si può accedere alle funzionalità da alri linguaggi tramite l'interfaccia della libreria, documentata qui. Per usare ipcalc dalla shell, leggere la pagina man di ipcalc(1).

Nel passare parametri alle varie funzioni, tener presente se accettano un host byte order o network byte order. La maggior parte accetta un host byte order, e ritorna un host byte order, ma ci sono alcune eccezioni.

 

DOCUMENTAZIONE FUNZIONI

 

unsigned long int calc_broadcast (unsigned long int addr, int prefix)

calcola l'indirizzo di broadcast dati un indirizzo IP e una lunghezza del prefix.

Parametri:

addr
un indirizzo IP in network byte order.
prefix
la lunghezza di un prefix.

Ritorna: l'indirizzo di broadcast calcolato per la rete, in network byte order.  

unsigned long int calc_network (unsigned long int addr, int prefix)

calcola l'indirizzo di rete per uno specificato indirizzo e prefix.

Parametri:

addr
un indirizzo IP, in network byte order.
prefix
il prefix di rete

Ritorna: l'indirizzo di base della rete cui è associato l'indirizzo, in network byte order.  

unsigned long int default_netmask (unsigned long int addr)

ritorna la netmask di default (canonica) associata all'indirizzo IP specificato.


 Quando Internet fu originariamente concepita, vari intervalli di indirizzi IP furono segmentati in in tre classi di rete: A, B e C. Questa funzione ritornerà una netmask che è associata all'indirizzo IP specificato definendo in quale delle classi predefinite cada.

Parametri:

addr
un indirizzo IP in network byte order.

Ritorna: una netmask in network byte order.  

const char * get_hostname (unsigned long int addr)

ritorna l'hostname associato all'indirizzo IP specificato.

Parametri:

addr
un indirizzo IP per il quale trovare l'hostname, in network byte order

Ritorna: un hostname, o NULL se non può essere determinato. L'hostname è memorizzato in un buffer statico che può scomparire in ogni momento, il chiamante dovrebbe copiare i dati se ha bisogno di memorizzazione permanente.  

main (int argc, const char ** argv)

programma wrapper per le funzioni di ipcalc.


 Questo è un programma wrapper per le funzioni che la libreria ipcalc fornisce. Può essere usato da script di shell o direttamente dalla linea di comando.

Per ulteriori informazioni, leggere la pagina di man di ipcalc(1).  

int mask2prefix (unsigned long int mask)

calcola il numero di bits mascherati da una netmask.


 Questa funzione calcola i bit significativi in un indirizzo IP come specificato da una netmask. Vedere anche prefix2mask.

Parametri:

mask
è la netmask, specifiata come unsigned long integer in network byte order.

Ritorna: il numero di bit significativi.  

unsigned long int prefix2mask (int bits)

crea una netmask da uno specificato numero di bits.


 Questa funzione converte una lunghezza del prefix in una netmask. Come ha mostrato il CIDR (classless internet domain routing), sempre più indirizzi IP stanno essendo specificati in formato indirizzo/prefix (per es. 192.168.2.3/24, con una netmask corrispondente 255.255.255.0). Se occorre conoscere quale netmask corrisponde alla parte prefix dell' indirizzo, questa è la funzione da utilizzare. Vedere anche mask2prefix.

Parametri:

prefix
è il numero di bit per cui creare una maschera.

Ritorna: una network mask, in network byte order.  

AUTORE

Generato automaticamente da Doxygen per initscripts dal codice sorgente.


 

Index

NOME
SINTASSI
Define
Funzioni
DESCRIZIONE DETTAGLIATA
DOCUMENTAZIONE FUNZIONI
unsigned long int calc_broadcast (unsigned long int addr, int prefix)
unsigned long int calc_network (unsigned long int addr, int prefix)
unsigned long int default_netmask (unsigned long int addr)
const char * get_hostname (unsigned long int addr)
main (int argc, const char ** argv)
int mask2prefix (unsigned long int mask)
unsigned long int prefix2mask (int bits)
AUTORE