Переглянути джерело

netbios: use a uint32_t for ip

Thomas Guillem 9 роки тому
батько
коміт
91c28848e2
5 змінених файлів з 9 додано та 9 видалено
  1. 2 2
      src/netbios_session.c
  2. 1 1
      src/netbios_session.h
  3. 1 1
      src/smb_session.c
  4. 4 4
      src/smb_transport.c
  5. 1 1
      src/smb_types.h

+ 2 - 2
src/netbios_session.c

@@ -114,7 +114,7 @@ void              netbios_session_destroy(netbios_session *s)
     free(s);
 }
 
-int               netbios_session_connect(struct in_addr *addr,
+int               netbios_session_connect(uint32_t ip,
         netbios_session *s,
         const char *name,
         int direct_tcp)
@@ -129,7 +129,7 @@ int               netbios_session_connect(struct in_addr *addr,
     else
         s->remote_addr.sin_port       = htons(NETBIOS_PORT_SESSION);
     s->remote_addr.sin_family       = AF_INET;
-    s->remote_addr.sin_addr.s_addr  = addr->s_addr;
+    s->remote_addr.sin_addr.s_addr  = ip;
     if (!open_socket_and_connect(s))
         goto error;
 

+ 1 - 1
src/netbios_session.h

@@ -68,7 +68,7 @@ typedef struct              netbios_session_s
 // Return NULL if unable to open socket/connect
 netbios_session   *netbios_session_new(size_t buf_size);
 void              netbios_session_destroy(netbios_session *);
-int               netbios_session_connect(struct in_addr *addr,
+int               netbios_session_connect(uint32_t ip,
         netbios_session *s,
         const char *name,
         int direct_tcp);

+ 1 - 1
src/smb_session.c

@@ -148,7 +148,7 @@ int             smb_session_connect(smb_session *s, const char *name,
 
     if ((s->transport.session = s->transport.new(SMB_DEFAULT_BUFSIZE)) == NULL)
         return DSM_ERROR_GENERIC;
-    if (!s->transport.connect((struct in_addr *)&ip, s->transport.session, name))
+    if (!s->transport.connect(ip, s->transport.session, name))
         return DSM_ERROR_NETWORK;
 
     memcpy(s->srv.name, name, strlen(name) + 1);

+ 4 - 4
src/smb_transport.c

@@ -37,18 +37,18 @@
 
 // XXX: This can be simplified, since we have only one function that differs
 
-int               transport_connect_nbt(struct in_addr *addr,
+int               transport_connect_nbt(uint32_t ip,
                                         netbios_session *s,
                                         const char *name)
 {
-    return netbios_session_connect(addr, s, name, 0);
+    return netbios_session_connect(ip, s, name, 0);
 }
 
-int               transport_connect_tcp(struct in_addr *addr,
+int               transport_connect_tcp(uint32_t ip,
                                         netbios_session *s,
                                         const char *name)
 {
-    return netbios_session_connect(addr, s, name, 1);
+    return netbios_session_connect(ip, s, name, 1);
 }
 
 void              smb_transport_nbt(smb_transport *tr)

+ 1 - 1
src/smb_types.h

@@ -90,7 +90,7 @@ struct smb_transport
 {
     void              *session;
     void              *(*new)(size_t buf_size);
-    int               (*connect)(struct in_addr *addr, void *s, const char *name);
+    int               (*connect)(uint32_t ip, void *s, const char *name);
     void              (*destroy)(void *s);
     void              (*pkt_init)(void *s);
     int               (*pkt_append)(void *s, void *data, size_t size);