This guide describes the list of the files of the project. ========================================================== There are two target binaries: mngr & bridge o The first is a simplest tools to connect/disconnect bridges and check their current connection. These its functions are managed from command line simple language and use the library libcli.a (see below). Beside it mngr serves to transport BPDU messages between bridges; for this purpose mngr uses the library libuid.a The source code of the mngr: file mngr.c o The second is a simulation of virtual RSTP bridge. It accepts two types of messages: UID_CNTRL & UID_BPDU (see file uid.h). This program is linked with the same two libraries libcli.a & libuid.a; beside it uses a system independent librstp.a: implementation of Rapid Spanning Tree (802.1w) - see below. The source code of the bridge: files bridge.c,stp_cli.c, stp_to.c * bridge.c - simulates the main bridge behavior * stp_cli.c - consists from command line functions * stp_to.c - API, that librstp.a uses for its purposes. The management communication between bridge and librstp.a uses structures and definitions from the header uid_stp.h o libcli.a - library for command line features. It has only one file cli.c, the API is described in the header cli.h. o libuid.a - the 'transport' library: the source code you may find in the file uid_sock.c and in the two headers: uid.h & uid_sock.h o (so far, so good) librstp.a - it is a heart of the project Actually, it implements 802.1w state machines. Files stpm.c - the RSTP instance (some reflection of Port0) port.c - the RSTP port instance portinfo.c - Port Information State Machine, 17.21 rolesel.c - Port Role Selection State Machine, 17.22 roletrns.c - Port Role Transition State Machine, 17.23 sttrans.c - Port State Transition State Machine, 17.24 topoch.c - Topology Change State Machine, 17.25 migrate.c - Port Protocol Migration State Machine, 17.26 transmit.c - Port Transmit State Machine 17.27 pcost.c - Path Cost Resolution State Machine edge.c - operEdge Port Resolution State Machine p2p.c - operPointToPoit Resolution State Machine statmch.c - generic state machine implementation vector.c - Priority Vectors manipulations times.c - Times manipulations stp_in.c - API for calls from outside. sttrans.c - API for calls from outside (dedicated for creation deleting, starting & stopping the RSTP instance) less relevant to the project.