[fpc-pascal] [NETWORK - LINUX ]: Calculate broadcast - network
Michael Van Canneyt
michael at freepascal.org
Thu Oct 12 22:14:22 CEST 2006
On Thu, 12 Oct 2006, TOUZEAU DAVID wrote:
> <message>
> </message>
>
> Dear
>
> The tool is designed to simplify the change network settings quickly.
>
> So the goal for the admin is to type:
>
> #./tool 192.168.1.2 255.255.255.0 192.168.1.1
>
> and the tool will change settings in /etc/network/interfaces by
>
> iface eth0 inet static
> address 192.168.1.2
> netmask 255.255.255.0
> network 192.168.xx.0
> broadcast 192.168.xx.255
> gateway 192.168.1.1
>
Use the sockets unit:
Var
sa,sn,nw,bc : string;
A,N : cardinal;
IA : in_addr; // in sockets unit.
a:=StrToHostAddr(sa).s_addr; // Get IP in longint
n:=StrToHostAddr(sn).s_addr; // Get Netmask in longint.
nw:=a and N; // Network.
bc:=A and not N; // broadcast
ia.s_addr:=a and N; // Calculate network
nw:=HostAddrToStr(ia); // Convert to string
ia.s_addr:=a and not N; // Calculate broadcast
bc:=HostAddrToStr(ia); // Convert to string.
Michael.
More information about the fpc-pascal
mailing list