From aba138ba18f3065d420b2f9948729a7a37843ce2 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 11 Feb 2003 23:04:41 +0000 Subject: 2003-02-11 Mike Siers * networkapp.t: Add an example code snippet for adding an IP alias. --- doc/networking/ChangeLog | 4 ++++ doc/networking/networkapp.t | 34 ++++++++++++++++++++++++++++++++++ 2 files changed, 38 insertions(+) (limited to 'doc') diff --git a/doc/networking/ChangeLog b/doc/networking/ChangeLog index 8ce6a16366..9445fd0bd8 100644 --- a/doc/networking/ChangeLog +++ b/doc/networking/ChangeLog @@ -1,3 +1,7 @@ +2003-02-11 Mike Siers + + * networkapp.t: Add an example code snippet for adding an IP alias. + 2003-01-25 Ralf Corsepius * networking.texi: Set @setfilename networking.info. diff --git a/doc/networking/networkapp.t b/doc/networking/networkapp.t index 78350b7aad..96872d9801 100644 --- a/doc/networking/networkapp.t +++ b/doc/networking/networkapp.t @@ -421,6 +421,40 @@ The purpose of these functions is to permit a more efficient alternative to the select call when dealing with a large number of sockets. +@subsection Adding an IP Alias + +The following code snippet adds an IP alias: + +@example +void addAlias(const char *pName, const char *pAddr, const char *pMask) +@{ + struct ifaliasreq aliasreq; + struct sockaddr_in *in; + + /* initialize alias request */ + memset(&aliasreq, 0, sizeof(aliasreq)); + sprintf(aliasreq.ifra_name, pName); + + /* initialize alias address */ + in = (struct sockaddr_in *)&aliasreq.ifra_addr; + in->sin_family = AF_INET; + in->sin_len = sizeof(aliasreq.ifra_addr); + in->sin_addr.s_addr = inet_addr(pAddr); + + /* initialize alias mask */ + in = (struct sockaddr_in *)&aliasreq.ifra_mask; + in->sin_family = AF_INET; + in->sin_len = sizeof(aliasreq.ifra_mask); + in->sin_addr.s_addr = inet_addr(pMask); + + /* call to setup the alias */ + rtems_bsdnet_ifconfig(pName, SIOCAIFADDR, &aliasreq); +@} +@end example + +Thanks to @uref{mailto:imikes@@poliac.com,Mike Seirs} for this example +code. + @subsection Time Synchronization Using NTP @example -- cgit v1.2.3