From: koinec <> Date: Sun, 25 Oct 2009 13:06:38 +0000 (+0000) Subject: *** empty log message *** X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=67aff874fe97a38cf49cbca23f2a725822d024bd;p=drdeamon64%2Fdrdeamon64.git *** empty log message *** --- diff --git a/deamon/drd64_marshald_cmd_attach_request.c b/deamon/drd64_marshald_cmd_attach_request.c index 99397fc..35f32cb 100644 --- a/deamon/drd64_marshald_cmd_attach_request.c +++ b/deamon/drd64_marshald_cmd_attach_request.c @@ -36,6 +36,13 @@ Comment: #include"drd64_marshald.h" + +#define DRD64_CMDSTATUS_ATTACHREQ_NORMAL 0x00 +#define DRD64_CMDSTATUS_ATTACHREQ_WAITCONNECT 0x01 +#define DRD64_CMDSTATUS_ATTACHREQ_WAITTRANS 0x02 +#define DRD64_CMDSTATUS_ATTACHREQ_WAITEXEC 0x03 + + int Drd64_Marshald_Cmd_AttachRequest_toINet_Result( int i_fds, @@ -330,6 +337,10 @@ int return 0x00; } +//#define DRD64_CMDSTATUS_ATTACHREQ_NORMAL 0x00 +//#define DRD64_CMDSTATUS_ATTACHREQ_WAITCONNECT 0x01 +//#define DRD64_CMDSTATUS_ATTACHREQ_WAITTRANS 0x02 +//#define DRD64_CMDSTATUS_ATTACHREQ_WAITEXEC 0x03 int Drd64_Marshald_Cmd_AttachRequest( @@ -341,8 +352,56 @@ int int i_wlen; int i_err; int i_result; + int i_cmd_status; + int i_inet_flag; + Byte b_packet_status; Drd64_Marshald_ConnectInfo *p_cinfo; + i_result = DRD64_MARSHALD_DISPATCH_RESULT_COMPLETE; + + b_packet_status = Drd64_Server_RecvStatus_GetPacketStatus( i_fds ); + if( DRD64_SERVER_RECVSTATUS_STATUS_ERROR == b_packet_status ) + { return i_result; } + + i_cmd_status = Drd64_Server_RecvStatus_GetCmdStatus( i_fds ); + if( -1 == i_cmd_status ) + { return i_result; } + + i_inet_flag = Drd64_Server_INetAddr_CmpInAddr( + &(p_attachreq->t_prog_addr), + &(p_marshald->t_marshald_addr) ); + + if( DRD64_SERVER_RECVSTATUS_STATUS_READ == b_packet_status ) { + /* Scenery 1 : Local Debug Started (from Local or Inet)---*/ + if( 0x00 == i_inet_flag ) { + + } + /* Scenery 2 : Inet Debug Started (for Trans Inet Marshald ) ---*/ + else { + + } + } + else if( DRD64_SERVER_RECVSTATUS_STATUS_RESUME == b_packet_status ) { + /* Scenery 3 : Trans Attach Req. for Inet Marshald ---*/ + if( DRD64_CMDSTATUS_ATTACHREQ_WAITCONNECT == i_cmd_status ) { + assert( 0x00 != i_inet_flag ); + + } + /* Scenery 4 : Recv. BootInfo Cmd from Debugd ---*/ + else if( DRD64_CMDSTATUS_ATTACHREQ_WAITEXEC == i_cmd_status ) { + + } + /* Scenery 5 : Recv. Answer Trans. Attach req. from Inet Marshald -*/ + else if( DRD64_CMDSTATUS_ATTACHREQ_WAITTRANS == i_cmd_status ) { + + } + + } + else { + /* XXX : Error Proc. */ + } + + i_result = 0x02; /* XXX */ puts("Attach start"); diff --git a/deamon/drd64_server_recvstatus.c b/deamon/drd64_server_recvstatus.c index 0b9611d..56e6b22 100644 --- a/deamon/drd64_server_recvstatus.c +++ b/deamon/drd64_server_recvstatus.c @@ -224,6 +224,51 @@ Drd64_Server_RecvStatus * EXTERN_SERVER_RECVSTATUS int + Drd64_Server_RecvStatus_GetPacketStatus( + int i_fds ) +{ + Drd64_Server_RecvStatus *p_recv; + p_recv = *(gpp_recvstat + i_fds); + + if( NULL == p_recv ) { return -1; } + + return p_recv->b_recv_status; +} + + +EXTERN_SERVER_RECVSTATUS +int + Drd64_Server_RecvStatus_GetCmdStatus( + int i_fds ) +{ + Drd64_Server_RecvStatus *p_recv; + p_recv = *(gpp_recvstat + i_fds); + + if( NULL == p_recv ) { return -1; } + + return p_recv->i_command_status; +} + + +EXTERN_SERVER_RECVSTATUS +int + Drd64_Server_RecvStatus_SetCmdStatus( + int i_fds, + int i_command_status ) +{ + Drd64_Server_RecvStatus *p_recv; + p_recv = *(gpp_recvstat + i_fds); + + if( NULL == p_recv ) { return -1; } + + p_recv->i_command_status = i_command_status; + + return p_recv->i_command_status; +} + + +EXTERN_SERVER_RECVSTATUS +int Drd64_Server_RecvStatus_GetRecvStatMax( void ) { diff --git a/deamon/drd64_server_recvstatus.h b/deamon/drd64_server_recvstatus.h index 3ab588d..d135e94 100644 --- a/deamon/drd64_server_recvstatus.h +++ b/deamon/drd64_server_recvstatus.h @@ -47,6 +47,7 @@ Comment: #define DRD64_SERVER_RECVSTATUS_STATUS_READ 0x00 #define DRD64_SERVER_RECVSTATUS_STATUS_STOP 0x01 #define DRD64_SERVER_RECVSTATUS_STATUS_RESUME 0x02 +#define DRD64_SERVER_RECVSTATUS_STATUS_ERROR 0xff typedef struct { @@ -58,6 +59,7 @@ typedef struct { int i_child_fds_id; Byte b_recv_status; + int i_command_status; /* Cmd Proc. Use Area - for Cmd Status */ } Drd64_Server_RecvStatus; #ifdef DRD64_SRC_SERVER_RECVSTATUS @@ -94,6 +96,23 @@ EXTERN_SERVER_RECVSTATUS EXTERN_SERVER_RECVSTATUS int + Drd64_Server_RecvStatus_GetPacketStatus( + int i_fds ); + +EXTERN_SERVER_RECVSTATUS + int + Drd64_Server_RecvStatus_GetCmdStatus( + int i_fds ); + +EXTERN_SERVER_RECVSTATUS + int + Drd64_Server_RecvStatus_SetCmdStatus( + int i_fds, + int i_packet_status ); + + +EXTERN_SERVER_RECVSTATUS + int Drd64_Server_RecvStatus_GetRecvStatMax( void );