Page suivante - Page précédente - Table des matières

20. Programmation réseau AX.25, NetRom, Rose

L'avantage le plus important lié à l'utilisation des protocoles par paquets radioamateurs du noyau réside en la facilité de développement des programmes et applications qui les emploient.

Bien que la programmation réseau sous Unix déborde du cadre de ce document, je vais décrire les principaux éléments d'utilisation des protocoles AX.25, NetRom et Rose au sein de vos programmes.

20.1 Familles d'adresses

La programmation AX.25, NetRom et Rose est assez semblable à la programmation TCP/IP sous Linux. LEs principales différences se font au niveau des familles d'adresses et des structures d'adresse à mettre en place.

Les noms de familles d'adresses pour AX.25, NetRom et Rose sont respectivement AF_AX.25, AF_NETROM et AF_ROSE.

20.2 Fichiers d'en-tête

Incluez toujours les fichiers `ax25.h', `netrom.h' ou `rose.h' si vous vous servez de ces protocoles. Les débuts de fichiers-types ressemblent à quelque chose du style :

Pour AX.25 :

#include <ax25.h>
int s, addrlen = sizeof(struct full_sockaddr_ax25);
struct full_sockaddr_ax25 sockaddr;
sockaddr.fsa_ax25.sax25_family = AF_AX.25

Pour NetRom :

#include <ax25.h>
#include <netrom.h>
int s, addrlen = sizeof(struct full_sockaddr_ax25);
struct full_sockaddr_ax25 sockaddr;
sockaddr.fsa_ax25.sax25_family = AF_NETROM;

Pour Rose :

#include <ax25.h>
#include <rose.h>
int s, addrlen = sizeof(struct sockaddr_rose);
struct sockaddr_rose sockaddr;
sockaddr.srose_family = AF_ROSE;

20.3 Mise en forme des identifiants et exemples

La librairie lib/ax25.a du paquetage des utilitaires AX.25 contient des routines de conversion des identifiants. Vous pouvez bien sûr écrire les vôtres si vous le souhaitez.

Les programmes user_call sont d'excellents exemples à partir desquels travailler. Leur source code est inclus dans les outils AX.25. Si vous passez un peu de temps à les examiner, vous remarquerez rapidement que quatre-vingt-dix pour cent du travail consiste à préparer l'ouverture des sockets. En fait la connexion est rapide mais la mise en place prend du temps.

Les exemples sont assez simples pour ne pas prêter à confusion. Si vous avez des questions, adressez-vous directement à la liste de diffusion linux-hams où quelqu'un vous aidera sûrement.


Page suivante - Page précédente - Table des matières