Drd64_Debugd_Cmd_AttachLink(
int i_recv_id,
Drd64_PacketHeader *p_phead,
+ Drd64_PacketData_AttachLink *p_alink,
Drd64_Debugd_MasterInformation *p_debugd )
{
int i_wlen;
/* CMD: Attach Link -------------------------------*/
else if( DRD64_COMMAND_ATTACH_LINK == p_phead->dw_command ) {
i_result = Drd64_Debugd_Cmd_AttachLink(
- i_recv_id, p_phead, p_debugd );
+ i_recv_id, p_phead, pv_data, p_debugd );
}
/* CMD: No Support Command ------------------------*/
else {
Drd64_Marshald_Cmd_AttachLink(
int i_recv_id,
Drd64_PacketHeader *p_phead,
- void *p_nondata,
+ Drd64_PacketData_AttachLink *p_alink,
Drd64_Marshald_MasterInformation *p_marshald )
{
int i_result;
} __attribute((packed)) Drd64_PacketData_AttachRequest;
+/* CMD: Attach Link ===================================*/
+
+typedef struct {
+ /* Request Data */
+ char str_debugd_sockname[DRD64_MAX_PATH+1];
+
+ /* Answer Data */
+
+} __attribute((packed)) Drd64_PacketData_AttachLink;
#endif /* DRD64_HEADER_XXX */
int i_err;
int i_socket;
int i_socket_marshald;
- Drd64_PacketHeader *p_phead;
+ Drd64_PacketHeader *p_phead;
+ Drd64_PacketData_AttachLink *p_alink;
assert( NULL != p_cinfo );
Drd64_LibDrd64_Packet_SetPacketHeader(
p_phead,
- DRD64_CONNECTID_NONE,
+ p_cinfo->i_debugd_cid,
DRD64_COMMAND_ATTACH_LINK,
- 0 );
+ sizeof( Drd64_PacketData_AttachLink ) );
+
+ p_alink
+ = (Drd64_PacketData_AttachLink *)DRD64_PacketData( gp_buffer );
/* Phase 3 : Send & Recv. Attach-Link Cmd */
i_err = Drd64_LibDrd64_Packet_SendPacket(
- i_socket, gp_buffer, 0, 0, 0x01 );
+ i_socket, gp_buffer,
+ sizeof( Drd64_PacketData_AttachLink ),
+ sizeof( Drd64_PacketData_AttachLink ),
+ 0x01 );
printf("attach Link: %d\n", i_err );
if( 0 > i_err ) {
return -2;
&(p_cinfo->t_debugd_addr_inet),
&(p_attach->t_prog_addr) );
puts( p_cinfo->str_debugd_addr_local );
-
p_cinfo->i_marshald_pid = drd64_libdrd64_minfo.i_marshald_pid;
p_cinfo->i_marshald_cid = p_attach->i_cid_marshald;