head	1.4;
access;
symbols
	bg2_23:1.4
	bg2_22:1.4
	bg2_21:1.4
	bg2_20:1.4
	bg2_16:1.4
	bg2_15:1.4
	bg2_12:1.4
	bg2_07:1.4
	isorc2008_submission:1.4
	handbook_alpha_edition:1.4
	jtres2007_submission:1.4
	bg1_07:1.3
	bg1_06:1.2
	bg1_05:1.2
	TAL_101:1.2
	TAL_100:1.2
	jtres_submission:1.2
	wises06_submission:1.2
	lctes2006_submission:1.2
	rtgc_isorc2006:1.2.0.4
	isorc2006:1.2.0.2
	rtgc_paper:1.2
	bg1_00:1.2
	nohandle:1.1;
locks; strict;
comment	@# @;


1.4
date	2007.01.24.19.33.17;	author martin;	state Exp;
branches;
next	1.3;
commitid	116845b7b47c4567;

1.3
date	2007.01.15.01.45.22;	author martin;	state Exp;
branches;
next	1.2;
commitid	3a5945aadcb04567;

1.2
date	2005.08.20.14.31.45;	author martin;	state Exp;
branches;
next	1.1;
commitid	14a343073ec14567;

1.1
date	2005.05.11.16.31.16;	author martin;	state Exp;
branches;
next	;
commitid	a1a428233464567;


desc
@@


1.4
log
@use LinkLayer.ip
@
text
@/*
 * Copyright (c) Martin Schoeberl, martin@@jopdesign.com
 * All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 * 3. All advertising materials mentioning features or use of this software
 *    must display the following acknowledgement:
 *	This product includes software developed by Martin Schoeberl
 *
 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 * SUCH DAMAGE.
 *
 */

package ejip;

/**
*	LinkLayer.java
*
*/



/**
 * LinkLayer driver.
 */
public abstract class LinkLayer {
	
	
	/** Own IP address */
	public int ip; // own ip address
// TODO: make ip, gateway, netmask package visible again

	/** */
	public int gateway;

	/** Subnet mask */
	public int netmask;


	public abstract int getIpAddress();
	public abstract void startConnection(StringBuffer dialstr,
			StringBuffer connect, StringBuffer user, StringBuffer passwd);
	public abstract void reconnect();
	public abstract int getConnCount();
	public void disconnect() {
		// only usefull for PPP
	}

	public abstract void loop();
	/**
	 * @@param remoteAddr
	 * @@return true if the remote address is in the same subnet or if no gateway
	 *         is given
	 */
	public boolean isSameSubnet(int remoteAddr) {
		if (gateway == 0)
			return true;

		int test1 = /* ip & */ netmask;
		int test2 = remoteAddr & netmask;

		return (test1 ^ test2) == 0;
	}
}
@


1.3
log
@minor changes
@
text
@d44 2
d47 2
a48 2
//	int ip; // own ip address
// TODO: use this one instead of the static in CS8900, SLIP, and PPP
d51 1
a51 1
	int gateway;
d54 1
a54 1
	int netmask;
@


1.2
log
@Added a disconnect() for PPP
@
text
@a35 1
*	communicate with jopbb via serial line.
d41 9
a49 2
*	LinkLayer driver.
*/
d51 2
a52 1
public abstract class LinkLayer {
d65 14
@


1.1
log
@resync with current development
@
text
@d53 3
@

