1*4eaa4710SRishi SrivatsavaiThis guide describes the list of the files of the project.
2*4eaa4710SRishi Srivatsavai==========================================================
3*4eaa4710SRishi Srivatsavai
4*4eaa4710SRishi SrivatsavaiThere are two target binaries: mngr & bridge
5*4eaa4710SRishi Srivatsavaio The first  is  a simplest  tools  to  connect/disconnect
6*4eaa4710SRishi Srivatsavai  bridges and  check  their current connection.  These its
7*4eaa4710SRishi Srivatsavai  functions are managed from command line simple  language
8*4eaa4710SRishi Srivatsavai  and use the library libcli.a (see below). Beside it mngr
9*4eaa4710SRishi Srivatsavai  serves to transport BPDU messages between  bridges;  for
10*4eaa4710SRishi Srivatsavai  this purpose mngr uses the library libuid.a
11*4eaa4710SRishi Srivatsavai  The source code of the mngr: file mngr.c
12*4eaa4710SRishi Srivatsavai
13*4eaa4710SRishi Srivatsavaio The second is a simulation of virtual  RSTP  bridge.  It
14*4eaa4710SRishi Srivatsavai  accepts two types of messages: UID_CNTRL & UID_BPDU (see
15*4eaa4710SRishi Srivatsavai  file uid.h).  This program  is  linked with the same two
16*4eaa4710SRishi Srivatsavai  libraries libcli.a & libuid.a;  beside  it uses a system
17*4eaa4710SRishi Srivatsavai  independent librstp.a: implementation of Rapid  Spanning
18*4eaa4710SRishi Srivatsavai  Tree (802.1w) - see below.
19*4eaa4710SRishi Srivatsavai  The source code of the bridge: files bridge.c,stp_cli.c,
20*4eaa4710SRishi Srivatsavai  stp_to.c
21*4eaa4710SRishi Srivatsavai    * bridge.c - simulates the main bridge behavior
22*4eaa4710SRishi Srivatsavai    * stp_cli.c - consists from command line functions
23*4eaa4710SRishi Srivatsavai    * stp_to.c - API, that librstp.a uses for its purposes.
24*4eaa4710SRishi Srivatsavai  The management communication between bridge and librstp.a
25*4eaa4710SRishi Srivatsavai  uses structures and definitions from the header uid_stp.h
26*4eaa4710SRishi Srivatsavai
27*4eaa4710SRishi Srivatsavaio libcli.a - library for command line features. It has only
28*4eaa4710SRishi Srivatsavai  one file cli.c, the API is described in the header cli.h.
29*4eaa4710SRishi Srivatsavai
30*4eaa4710SRishi Srivatsavaio libuid.a - the 'transport' library: the source code you
31*4eaa4710SRishi Srivatsavai  may find in the file uid_sock.c and in the two headers:
32*4eaa4710SRishi Srivatsavai  uid.h & uid_sock.h
33*4eaa4710SRishi Srivatsavai
34*4eaa4710SRishi Srivatsavaio (so far, so good) librstp.a - it is a heart of the project
35*4eaa4710SRishi Srivatsavai  Actually, it implements 802.1w state machines. Files
36*4eaa4710SRishi Srivatsavai  stpm.c - the RSTP instance (some reflection of Port0)
37*4eaa4710SRishi Srivatsavai  port.c - the RSTP port instance
38*4eaa4710SRishi Srivatsavai  portinfo.c - Port Information State Machine, 17.21
39*4eaa4710SRishi Srivatsavai  rolesel.c - Port Role Selection State Machine, 17.22
40*4eaa4710SRishi Srivatsavai  roletrns.c - Port Role Transition State Machine, 17.23
41*4eaa4710SRishi Srivatsavai  sttrans.c - Port State Transition State Machine, 17.24
42*4eaa4710SRishi Srivatsavai  topoch.c - Topology Change State Machine, 17.25
43*4eaa4710SRishi Srivatsavai  migrate.c - Port Protocol Migration State Machine, 17.26
44*4eaa4710SRishi Srivatsavai  transmit.c - Port Transmit State Machine 17.27
45*4eaa4710SRishi Srivatsavai  pcost.c - Path Cost Resolution State Machine
46*4eaa4710SRishi Srivatsavai  edge.c - operEdge Port Resolution State Machine
47*4eaa4710SRishi Srivatsavai  p2p.c - operPointToPoit Resolution State Machine
48*4eaa4710SRishi Srivatsavai  statmch.c - generic state machine implementation
49*4eaa4710SRishi Srivatsavai  vector.c - Priority Vectors manipulations
50*4eaa4710SRishi Srivatsavai  times.c - Times manipulations
51*4eaa4710SRishi Srivatsavai  stp_in.c - API for calls from outside.
52*4eaa4710SRishi Srivatsavai  sttrans.c - API for calls from outside (dedicated for creation
53*4eaa4710SRishi Srivatsavai              deleting, starting & stopping the RSTP instance) less
54*4eaa4710SRishi Srivatsavai              relevant to the project.
55*4eaa4710SRishi Srivatsavai
56*4eaa4710SRishi Srivatsavai
57*4eaa4710SRishi Srivatsavai
58*4eaa4710SRishi Srivatsavai
59