목차
input.txt
Makefile
master.c
node.c
16.4KB
Makefile
master.c
node.c
16.4KB
본문내용
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define MAX_FILEBUF 128
#define MAX_VERTEX 5
#define MAX_ROUTE 20
#define INIT_TTL 5
#define MAX_DATA 20
#define CODE_FINDROUTE 1
#define CODE_FOUNDPATH 2
#define CODE_RREQ 3
#define CODE_RREP 4
#define TERM 5
#define ASCEND 0x0
#define DESCEND 0x1
typedef struct node
{
int data;
struct node *next;
struct node *befo;
}node;
typedef struct
{
int vertex;
int edge;
node *list[MAX_VERTEX];
}graph;
typedef struct
{
pid_t pid;
struct sockaddr_in nodeaddr;
}_childs;
typedef struct
{
unsigned char addr; // Node address
unsigned char code; // Code
char sourceRoute[20]; // Route array
unsigned char curPtr; // Current position
int ttl; // ttl
char data[MAX_DATA]; // node addr array
}RoutePacket;
graph Graph;
void Init_Graph();
void Reset_Graph();
void Destroy_Graph();
void Insert_Edge(int index, int nodedata);
FILE *Load_File(char *loc);
void Create_Nodes();
void Destroy_Nodes();
void Find_Path( int src, int des );
char *Int_To_Char5( int n );
void Print_Source_Route( char sourceRoute[] );
// Print error message and quit
void errquit( char *msg )
{ perror(msg); exit(0); }
int MASTER_PORT, sock, packetID = 1;
char nodeOpt;
_childs childs[MAX_VERTEX];
struct sockaddr_in masteraddr;
///////////////////
// Main function //
int main( int argc, char *argv[] )
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
#define MAX_FILEBUF 128
#define MAX_VERTEX 5
#define MAX_ROUTE 20
#define INIT_TTL 5
#define MAX_DATA 20
#define CODE_FINDROUTE 1
#define CODE_FOUNDPATH 2
#define CODE_RREQ 3
#define CODE_RREP 4
#define TERM 5
#define ASCEND 0x0
#define DESCEND 0x1
typedef struct node
{
int data;
struct node *next;
struct node *befo;
}node;
typedef struct
{
int vertex;
int edge;
node *list[MAX_VERTEX];
}graph;
typedef struct
{
pid_t pid;
struct sockaddr_in nodeaddr;
}_childs;
typedef struct
{
unsigned char addr; // Node address
unsigned char code; // Code
char sourceRoute[20]; // Route array
unsigned char curPtr; // Current position
int ttl; // ttl
char data[MAX_DATA]; // node addr array
}RoutePacket;
graph Graph;
void Init_Graph();
void Reset_Graph();
void Destroy_Graph();
void Insert_Edge(int index, int nodedata);
FILE *Load_File(char *loc);
void Create_Nodes();
void Destroy_Nodes();
void Find_Path( int src, int des );
char *Int_To_Char5( int n );
void Print_Source_Route( char sourceRoute[] );
// Print error message and quit
void errquit( char *msg )
{ perror(msg); exit(0); }
int MASTER_PORT, sock, packetID = 1;
char nodeOpt;
_childs childs[MAX_VERTEX];
struct sockaddr_in masteraddr;
///////////////////
// Main function //
int main( int argc, char *argv[] )
소개글