#
#
$(DEBUGD_TARGET): $(DEBUGD_OBJS)
- $(CC) -o $(DEBUGD_TARGET) $(FLAGS_DEBUG) $(DEBUGD_OBJS)
+ $(CC) -o $(DEBUGD_TARGET) $(FLAGS_DEBUG) $(DEBUGD_OBJS) \
+ -l$(LINK_LIBS) -L$(LINK_LIBDIR)
cp $(DEBUGD_TARGET) ..
drd64_debugd_main.o: drd64_debugd_main.c $(DEBUGD_HEADER)
Drd64_Server_RecvSocket_InitReadBuffer();
/* Create Socket from Local Client or Marshald */
- p_debugd->i_socket_debugd
- = Drd64_Server_Socket_InitSocket_Local( p_debugd->str_socketname );
+ /* GOMI : Drd64_Server_Socket_InitSocket_Local( p_debugd->str_socketname ); */
+ p_debugd->i_socket_debugd =
+ Drd64_LibBrownie_Socket_InitSocketServer_Local(
+ p_debugd->str_socketname );
if( 0 > p_debugd->i_socket_debugd ) {
return 0x01;
}
p_phead->i_error = 0x00;
/* Phase 2 : Create Local-Marshald Socket ------*/
+ /* GOMI : Drd64_Server_Socket_InitSocket_Local_Client( */
i_socket_temp =
- Drd64_Server_Socket_InitSocket_Local_Client(
+ Drd64_LibBrownie_Socket_InitSocketClient_Local(
DRD64_SOCKET_LOCAL_NAME_MARSHALD );
if( 0 > i_socket_temp ) {
return 0x01;
if( DRD64_MARSHALD_CINFOTYPE_CLIENT
== p_cinfo->b_cinfo_type ) {
- if( 0x00 == Drd64_Server_INetAddr_CmpInAddr( p_addr,
+ /* GOMI: if( 0x00 == Drd64_Server_INetAddr_CmpInAddr( p_addr,
&(p_cinfo->t_dest_addr_inet)) )
+ { return p_cinfo; } */
+ if( 0x00 == Drd64_LibBrownie_INetAddr_CmpInAddr(
+ p_addr, &(p_cinfo->t_dest_addr_inet)) )
{ return p_cinfo; }
}
}
p_cinfo_now->b_cinfo_type = DRD64_MARSHALD_CINFOTYPE_DEBUG;
p_cinfo_now->i_cinfo_refcount = 1;
- Drd64_Server_INetAddr_SetInAddr_LocalHost(
+ /* GOMI : Drd64_Server_INetAddr_SetInAddr_LocalHost(
+ &(p_cinfo_now->t_dest_addr_inet) ); */
+ Drd64_LibBrownie_INetAddr_SetInAddr_LocalHost(
&(p_cinfo_now->t_dest_addr_inet) );
p_cinfo_now->i_dest_cinfo_id = -1;
p_cinfo_now->i_dest_socket = -1; /* Set Value is After */
strncpy( p_cinfo_now->str_dest_addr_local,
str_sockname_server, DRD64_MAX_PATH );
- Drd64_Server_INetAddr_CopyInAddr(
+ /* GOMI : Drd64_Server_INetAddr_CopyInAddr(
+ &(p_cinfo_now->t_src_addr_inet),
+ &(p_cinfo_marshald->t_client_addr_inet) ); */
+ Drd64_LibBrownie_INetAddr_CopyInAddr(
&(p_cinfo_now->t_src_addr_inet),
&(p_cinfo_marshald->t_client_addr_inet) );
p_cinfo_now->i_src_cinfo_id = p_phead->i_cid_dest;
p_cinfo_now->i_src_socket = p_cinfo_marshald->i_src_socket;
- Drd64_Server_INetAddr_CopyInAddr(
+ /* GOMI : Drd64_Server_INetAddr_CopyInAddr(
+ &(p_cinfo_now->t_prog_addr_inet),
+ &(p_attach->t_prog_addr) ); */
+ Drd64_LibBrownie_INetAddr_CopyInAddr(
&(p_cinfo_now->t_prog_addr_inet),
&(p_attach->t_prog_addr) );
p_cinfo_now->i_prog_pid = p_attach->i_prog_pid;
p_cinfo_now->i_debugd_pid = i_pid_debugd;
- Drd64_Server_INetAddr_CopyInAddr(
+ /* GOMI : Drd64_Server_INetAddr_CopyInAddr(
+ &(p_cinfo_now->t_client_addr_inet),
+ &(p_cinfo_marshald->t_client_addr_inet) ); */
+ Drd64_LibBrownie_INetAddr_CopyInAddr(
&(p_cinfo_now->t_client_addr_inet),
&(p_cinfo_marshald->t_client_addr_inet) );
p_cinfo_now->i_client_pid = p_cinfo_marshald->i_client_pid;
if( -1 == i_cmd_status )
{ return i_result; }
- i_inet_flag = Drd64_Server_INetAddr_CmpInAddr(
+ /* GOMI : i_inet_flag = Drd64_Server_INetAddr_CmpInAddr(
+ &(p_attachreq->t_prog_addr),
+ &(p_marshald->t_marshald_addr) );*/
+ i_inet_flag = Drd64_LibBrownie_INetAddr_CmpInAddr(
&(p_attachreq->t_prog_addr),
&(p_marshald->t_marshald_addr) );
p_cinfo->i_dest_socket = -1;
p_cinfo->str_dest_addr_local[0] = '\0';
- Drd64_Server_INetAddr_CopyInAddr(
+ /* GOMI : Drd64_Server_INetAddr_CopyInAddr(
+ &(p_cinfo->t_src_addr_inet),
+ &(p_connect->t_client_addr_inet) ); */
+ Drd64_LibBrownie_INetAddr_CopyInAddr(
&(p_cinfo->t_src_addr_inet),
&(p_connect->t_client_addr_inet) );
p_cinfo->i_src_cinfo_id = p_connect->i_client_cinfo_id;
p_cinfo->i_debugd_pid = -1;
- Drd64_Server_INetAddr_CopyInAddr(
+ /* GOMI : Drd64_Server_INetAddr_CopyInAddr(
+ &(p_cinfo->t_client_addr_inet),
+ &(p_connect->t_client_addr_inet) ); */
+ Drd64_LibBrownie_INetAddr_CopyInAddr(
&(p_cinfo->t_client_addr_inet),
&(p_connect->t_client_addr_inet) );
p_cinfo->i_client_pid = p_connect->i_client_pid;
if( 0x00 != i_err ) { return i_err; }
/* */
+ /* GOMI : Drd64_Server_Socket_InitSocket_Local */
p_marshald->i_socket_local
- = Drd64_Server_Socket_InitSocket_Local(
+ = Drd64_LibBrownie_Socket_InitSocketServer_Local(
DRD64_SOCKET_LOCAL_NAME_MARSHALD );
if( 0 > p_marshald->i_socket_local ) { return 0x01; }
DRD64_DEBUG_PRINT("Socket(Local)",p_marshald->i_socket_local,
"errno",errno,NULL,0);
/* */
- p_marshald->i_socket_inet
- = Drd64_Server_Socket_InitSocket_INet(
+ /* GOMI : Drd64_Server_Socket_InitSocket_INet( */
+ p_marshald->i_socket_inet =
+ Drd64_LibBrownie_Socket_InitSocketServer_INet(
"INADDR_ANY", DRD64_SOCKET_NETWORK_PORT );
if( 0 > p_marshald->i_socket_inet ) { return 0x01; }
DRD64_DEBUG_PRINT("Socket(INet)",p_marshald->i_socket_inet,
"errno",errno,NULL,0);
/* */
- i_err = Drd64_Server_INetAddr_SetInAddr_LocalHost(
+ /* GOMI : i_err = Drd64_Server_INetAddr_SetInAddr_LocalHost(
+ &(p_marshald->t_marshald_addr) ); */
+ i_err = Drd64_LibBrownie_INetAddr_SetInAddr_LocalHost(
&(p_marshald->t_marshald_addr) );
if( 0x00 != i_err ) { return 0x02; }
p_connect->i_client_pid = getpid();
p_connect->i_client_cinfo_id = p_cinfo->i_cinfo_id;
p_connect->i_connect_id = -1;
- i_err = Drd64_Server_INetAddr_SetInAddr_LocalHost(
+ /* GOMI : i_err = Drd64_Server_INetAddr_SetInAddr_LocalHost(
+ &(p_connect->t_client_addr_inet) ); */
+ i_err = Drd64_LibBrownie_INetAddr_SetInAddr_LocalHost(
&(p_connect->t_client_addr_inet) );
/* XXX : i_err Handling */
/* Phase 3 : Create INet-Marshald Socket ------*/
+ /* GOMI: Drd64_Server_Socket_InitSocketClient_INet( */
i_socket_inet =
- Drd64_Server_Socket_InitSocketClient_INet(
+ Drd64_LibBrownie_Socket_InitSocketClient_INet(
p_addr_dest, DRD64_SOCKET_NETWORK_PORT );
p_recv = Drd64_Server_RecvStatus_AllocRecvStatus(
p_cinfo->b_cinfo_type = DRD64_MARSHALD_CINFOTYPE_CLIENT;
p_cinfo->i_cinfo_refcount = 1;
- Drd64_Server_INetAddr_CopyInAddr(
+ /* GOMI : Drd64_Server_INetAddr_CopyInAddr(
+ &(p_cinfo->t_dest_addr_inet),
+ p_addr_dest ); */
+ Drd64_LibBrownie_INetAddr_CopyInAddr(
&(p_cinfo->t_dest_addr_inet),
p_addr_dest );
/* p_cinfo->i_dest_cinfo_id = p_connect->i_connect_id;
p_cinfo->i_debugd_pid = -1;
- i_err = Drd64_Server_INetAddr_SetInAddr_LocalHost(
+ /* GOMI : i_err = Drd64_Server_INetAddr_SetInAddr_LocalHost(
+ &(p_cinfo->t_client_addr_inet) ); */
+ i_err = Drd64_LibBrownie_INetAddr_SetInAddr_LocalHost(
&(p_cinfo->t_client_addr_inet) );
p_cinfo->i_client_pid = getpid();
#define DRD64_HEADER_DEFINES
#define DRD64_MAX_PATH 256
+#define DRD64_SUNPATH_LEN 104
#endif /* DRD64_HEADER_XXX */
#define LIBBROWNIE_FUNC extern
#endif
+/* drd64_libbrownie_error.c Functions ========================*/
LIBBROWNIE_FUNC
int
Drd64_LibBrownie_Error_SetErrorInfo(
int i_history_id );
+/* drd64_libbrownie_inetaddr.c Functions =====================*/
+LIBBROWNIE_FUNC
+int
+ Drd64_LibBrownie_INetAddr_CmpInAddr(
+ struct in_addr *p_dest,
+ struct in_addr *p_src );
+
+LIBBROWNIE_FUNC
+ int
+ Drd64_LibBrownie_INetAddr_CopyInAddr(
+ struct in_addr *p_dest,
+ struct in_addr *p_src );
+
+LIBBROWNIE_FUNC
+ int
+ Drd64_LibBrownie_INetAddr_SetInAddr_fromFQDN(
+ struct in_addr *p_addr,
+ char *pstr_hostname );
+
+LIBBROWNIE_FUNC
+ int
+ Drd64_LibBrownie_INetAddr_SetInAddr_LocalHost(
+ struct in_addr *p_addr );
+
+
#endif /* DRD64_HEADER_XXX */
/* EOF of drd64_.h ----------------------------------- */
FLAGS_DEBUG = -g
LIBBROWNIE_TARGET = libbrownie.a
-LIBBROWNIE_OBJS = drd64_libbrownie_error.o
+LIBBROWNIE_OBJS = drd64_libbrownie_error.o \
+ drd64_libbrownie_inetaddr.o \
+ drd64_libbrownie_socket.o
LIBBROWNIE_HEADER = drd64_libbrownie.h \
drd64_libbrownie_error.h \
$(SUPER_HEADER)
gcc -c -o drd64_libbrownie_error.o $(FLAGS_DEBUG) \
drd64_libbrownie_error.c
+drd64_libbrownie_inetaddr.o: drd64_libbrownie_inetaddr.c $(LIBBROWNIE_HEADER)
+ gcc -c -o drd64_libbrownie_inetaddr.o $(FLAGS_DEBUG) \
+ drd64_libbrownie_inetaddr.c
+
+drd64_libbrownie_socket.o: drd64_libbrownie_socket.c $(LIBBROWNIE_HEADER)
+ gcc -c -o drd64_libbrownie_socket.o $(FLAGS_DEBUG) \
+ drd64_libbrownie_socket.c
clean:
rm -f *.o
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
+#include<netdb.h>
+#include<sys/types.h>
+#include<sys/socket.h>
+#include<sys/un.h>
+#include<netinet/in.h>
+#include<netinet/tcp.h>
#include"../include/drd64_types.h"
#include"../include/drd64_defines.h"
#include"../include/drd64_error.h"
#define DRD64_LIBDRD64_CINFO_UNITS 32
+#define DRD64_LIBDRD64_CINFO_COMMTYPE_LOCAL 0x01
+#define DRD64_LIBDRD64_CINFO_COMMTYPE_INET 0x02
+
+
typedef struct {
/* Section 1: ConnectInfo System Info ---*/
int i_id;
Byte b_commtype;
+ Byte b_status;
//int i_pid_dest;
#include"drd64_libdrd64.h"
+
+int
+ Drd64_LibDrd64_Cmd_Attach_Link(
+ Drd64_LibDrd64_ConnectInfo *p_cinfo )
+{
+ int i_err;
+ int i_socket_marshald;
+ Byte b_commtype;
+ Drd64_PacketHeader *p_phead;
+ Drd64_PacketData_AttachRequest *p_attach;
+ /* Phase 1 : Set Packet Data --- */
+ p_phead = (Drd64_PacketHeader *)gp_buffer;
+
+ Drd64_LibDrd64_Packet_SetPacketHeader(
+ p_phead,
+ DRD64_CONNECTID_NONE,
+ DRD64_COMMAND_ATTACH_LINK,
+ 0 );
+
+ /* Phase 2 : Create Socket for Debugd */
+
+
+
+ /* Phase 3 : Send & Recv. Attach-Link Cmd */
+
+
+ return 0x00;
+}
+
+
+
int
Drd64_LibDrd64_Cmd_Attach_Request(
Drd64_LibDrd64_ConnectInfo *p_cinfo,
{
int i_err;
int i_socket_marshald;
+ Byte b_commtype;
Drd64_PacketHeader *p_phead;
Drd64_PacketData_AttachRequest *p_attach;
if( !strcmp( pstr_hostname, "localhost" ) ) {
i_err = Drd64_LibDrd64_INet_SetInAddr_LocalHost(
&(p_attach->t_prog_addr) );
+ b_commtype = DRD64_LIBDRD64_CINFO_COMMTYPE_LOCAL;
}
else {
i_err = Drd64_LibDrd64_INet_SetInAddr(
&(p_attach->t_prog_addr), pstr_hostname );
+ b_commtype = DRD64_LIBDRD64_CINFO_COMMTYPE_INET;
}
if( 0x00 != i_err ) { return 0x01; }
}
/* Phase 3 : Set ConnectInfo from Result ---*/
+ p_cinfo->b_commtype = b_commtype;
p_cinfo->i_prog_pid = i_prog_pid;
p_cinfo->i_debugd_pid = p_attach->i_debugd_pid;
Drd64_LibDrd64_Cmd_Attach_Request( p_cinfo, i_prog_pid, pstr_hostname );
/* Phase 2: Attach Link */
+ Drd64_LibDrd64_Cmd_Attach_Link( p_cinfo );
/* Phase 3: Attach Report */