summaryrefslogtreecommitdiff
path: root/opentracker.c
diff options
context:
space:
mode:
Diffstat (limited to 'opentracker.c')
-rw-r--r--opentracker.c36
1 files changed, 31 insertions, 5 deletions
diff --git a/opentracker.c b/opentracker.c
index de98bb3..b992117 100644
--- a/opentracker.c
+++ b/opentracker.c
@@ -339,14 +339,40 @@ void graceful( int s ) {
339 } 339 }
340} 340}
341 341
342int main() 342void usage( char *name ) {
343{ 343 fprintf( stderr, "Usage: %s [-i serverip] [-p serverport] [-d serverdirectory]"
344#ifdef WANT_CLOSED_TRACKER
345 " [-o|c]"
346#endif
347 "\n", name );
348 exit(1);
349}
350
351int main( int argc, char **argv ) {
344 int s=socket_tcp4(); 352 int s=socket_tcp4();
345 unsigned long ip; 353 unsigned long ip;
346 uint16 port; 354 char *serverip = NULL;
355 char *serverdir = ".";
356 uint16 port = 6969;
357
358 while( 1 ) {
359 switch( getopt(argc,argv,":i:p:d:") ) {
360 case -1: goto allparsed;
361 case 'i': serverip = optarg; break;
362 case 'p': port = (uint16)atol( optarg ); break;
363 case 'd': serverdir = optarg; break;
364#ifdef WANT_CLOSED_TRACKER
365 case 'o': g_closedtracker = 0;
366 case 'c': g_closedtracker = 1;
367#endif
368 default:
369 case '?': usage( argv[0] );
370 }
371 }
347 372
373allparsed:
348 ot_start_time = time( NULL ); 374 ot_start_time = time( NULL );
349 if (socket_bind4_reuse(s,NULL,6969)==-1) 375 if (socket_bind4_reuse(s,serverip,port)==-1)
350 panic("socket_bind4_reuse"); 376 panic("socket_bind4_reuse");
351 377
352 if (socket_listen(s,16)==-1) 378 if (socket_listen(s,16)==-1)
@@ -356,7 +382,7 @@ int main()
356 panic("io_fd"); 382 panic("io_fd");
357 383
358 signal( SIGINT, graceful ); 384 signal( SIGINT, graceful );
359 if( init_logic( ) == -1 ) 385 if( init_logic( serverdir ) == -1 )
360 panic("Logic not started"); 386 panic("Logic not started");
361 387
362 io_wantread(s); 388 io_wantread(s);