ipcalc.c

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

NOM

ipcalc.c - fournit des utilitaires pour manipuler des adresses IP.  

SYNOPSIS


#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>

 

Définitions


#define IPBITS (sizeof(unsigned long int) * 8)
le nombre de bits dans un adresse IP.
#define IPBYTES (sizeof(unsigned long int))
le nombre d'octets dans une adresse IP.  

Fonctions


unsigned long int prefix2mask (int prefix)
crée un masque réseau d'un nombre de bits spécifié.
int mask2prefix (unsigned long int mask)
calcule le nombre de bits masqués par un masque réseau.
unsigned long int default_netmask (unsigned long int addr)
renvoie le masque réseau par défaut (canonique) associé à l'adresse IP spécifiée.
unsigned long int calc_broadcast (unsigned long int addr, int prefix)
calcule l'adresse de diffusion à partir d'une adresse IP et d'une longueur de préfixe.
unsigned long int calc_network (unsigned long int addr, int prefix)
calcule l'adresse réseau pour une adresse IP et un préfixe donnés.
const char* get_hostname (unsigned long int addr)
retourne le nom d'hôte associé à l'adresse IP indiquée.
int main (int argc, const char **argv)
programme d'appel (NdT : wrapper) pour les fonctions ipcalc.  

DESCRIPTION DÉTAILLÉE

fournit des utilitaires pour manipuler des adresses IP.


 ipcalc fournit des utilitaires et une interface en ligne de commande pour la manipulation d'adresses IP, et le calcul de divers aspects liés à IP, addresse/masque-réseau/adresse-réseau/préfixe/etc.

Les fonctions peuvent être accédées à partir de l'interface de la bibliothèque dans d'autres langages, comme documenté ici. Pour utiliser ipcalc à partir du shell, lisez la page de manuel ipcalc(1).

Lorsque vous passez des paramètres aux diverses fonctions, veuillez noter si elles prennent l'ordre d'octet hôte (NdT : "host byte order") ou l'ordre d'octet réseau (NdT : "network byte order"). La plupart prennent l'ordre d'octet hôte, et renvoient l'ordre d'octet hôte, mais il y a des exceptions.

 

DOCUMENTATION DES FONCTIONS

 

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

calcule l'adresse de diffusion à partir d'une adresse IP et d'une longueur de préfixe donnés.


 

Paramètres:

addr
une adresse IP dans l'ordre d'octet réseau.
prefix
une longueur de préfixe.

Renvoie: l'adresse de diffusion calculée pour le réseau, dans l'ordre d'octet réseau.  

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

calcule l'adresse réseau pour une adresse et un préfixe spécifiés.


 

Paramètres :

addr
une adresse IP, dans l'ordre d'octet réseau
prefix
le préfixe réseau

Renvoie : l'adresse de base du réseau avec lequel addr est associé, dans l'ordre d'octet réseau.  

unsigned long int default_netmask (unsigned long int addr)

renvoie le masque réseau par défaut (canonique) associé avec l'adresse IP spécifiée.

Quand Internet a été créé, les adresses IP furent segmentées en trois classes de réseau : A, B, et C. Cette fonction renvoie un masque réseau qui est associé avec l'adresse IP spécifiée, ce qui définit dans quelle classe elle se trouve.

Paramètres :

addr
une adresse IP dans l'ordre d'octet réseau.

Renvoie : un masque réseau dans l'ordre d'octet réseau.  

const char * get_hostname (unsigned long int addr)

renvoie le nom d'hôte associé avec l'adresse IP spécifiée.


 

Paramètres :

addr
une adresse IP pour laquelle on veut un nom d'hôte, dans l'ordre d'octet réseau

Renvoie : un nom d'hôte, ou NULL s'il ne peut être déterminé. Le nom d'hôte est stocké dans un buffer statique qui pourra disparaître à n'importe quel moment, l'appelant devra copier la donnée si elle doit être conservée de manière permanente.  

main (int argc, const char ** argv)

programme d'appel ("wrapper") pour les fonctions ipcalc.


 C'est un programme d'appel ("wrapper") pour les fonctions que la bibliothèque ipcalc fournit. Il peut être utilisé à partir de shells scripts ou directement à partir de la ligne de commande.

Pour plus d'information, veuillez vous référer à la page de manuel ipcalc(1).  

int mask2prefix (unsigned long int mask)

calcule le nombre de bits masqués par un masque réseau.


 Cette fonction calcule les bits significatifs d'une adresse IP en fonction d'un masque réseau. Voir aussi prefix2mask.

Paramètres:

mask
est le masque réseau, specifié comme un entier long non signé dans l'ordre d'octet réseau.

Renvoie : le nombre de bits significatifs.  

unsigned long int prefix2mask (int bits)

crée un masque réseau à partir d'un nombre de bits spécifié.


 Cette fonction convertir une longueur de préfixe en masque réseau. Comme le CIDR (classless internet domain internet domain routing) has taken off, de plus en plus d'adresses IP données dans le format addresse/préfixe (i.e. 192.168.2.3/24, avec masque réseau correspondant 255.255.255.0). Si vous voulez voir quel masque réseau correspond à la partie préfixe, c'est cette fonction qu'il vous faut. Voir aussi mask2prefix.

Paramètres :

prefix
est le nombre de bits pour lesquels il faut créer un masque réseau.

Renvoie : un masque réseau, dans l'ordre d'octet réseau.  

AUTEUR

Généré automatiquement par Doxygen pour initscripts à partir du code source (NdT : je comprends mieux :)).


 

Index

NOM
SYNOPSIS
Définitions
Fonctions
DESCRIPTION DÉTAILLÉE
DOCUMENTATION DES FONCTIONS
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)
AUTEUR