Avanti Indietro Indice

21. Programmazione di rete per AX.25, NetRom e Rose.

Il vantaggio più grande nell'usare un'implementazione dei protocolli packet per radioamatori è probabilmente la facilità con cui si possono sviluppare applicazioni e programmi che li sfruttino.

Sebbene la programmazione di applicativi di rete in Unix vada al di là degli scopi di questo documento, si descriveranno gli elementi essenziali per utilizzare i protocolli AX.25, NetRom e Rose all'interno dei vostri programmi.

21.1 Le famiglie degli indirizzi.

La programmazione di rete per AX.25, NetRom e Rose è, in Linux, piuttosto simile a quella per TCP/IP, visto che la differenza maggiore sta nelle diverse famiglie di indirizzi.

I nomi delle famiglie degli indirizzi per AX.25, NetRom e Rose sono rispettivamente AF_AX25, AF_NETROM e AF_ROSE.

21.2 I file header.

Occorre sempre includere i file header `ax25.h', nonchè `netrom.h' o `rose.h' se avete a che fare con questi protocolli. Le impostazioni iniziali saranno simili alle seguenti:

Per AX.25:

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

Per 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;

Per Rose:

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

21.3 Trattamento dei nominativi ed esempi.

Nella libreria lib/ax25.a delle AX.25-utilities vi sono routine che effettuano la conversione e il trattamento dei nominativi, anche se naturalmente potete scriverne di vostre.

Le utility user_call sono eccellenti esempi su cui impostare il vostro lavoro; spendendoci su un po' di tempo si comprende come il novanta percento del lavoro consiste nel riuscire ad aprire il socket. Per la verità effettuare la connessione è semplice, è la preparazione che richiede tempo.

Gli esempi sono semplici a sufficienza da non creare confusione. In caso di dubbi è buona cosa rivolgerli alla mailing list linux-hams, dove senz'altro ci sarà qualcuno che vi darà una mano.


Avanti Indietro Indice