diff --git a/src/addr.c b/src/addr.c index b762355..05aaa51 100644 --- a/src/addr.c +++ b/src/addr.c @@ -90,30 +90,6 @@ bool addr32_from_string(addr32_t *dest, const char *src) return _addr_from_string((unsigned char*)&dest, src, 4); } -/* Read a 32-bit network address from the registry. - * Returns default_value upon failure. -*/ -addr32_t reg_get_addr32(HKEY key, const char *name, addr32_t default_value) -{ - unsigned char buf[4], default_buf[4]; - - addr32_out(default_buf, default_value); - reg_get_bin(key, name, buf, 4, default_buf); - - return addr32_in(buf); -} - -/* Store a 32-bit network address in the registry. - * Returns true on success, false on failure. -*/ -bool reg_set_addr32(HKEY key, const char *name, addr32_t value) -{ - unsigned char buf[4]; - addr32_out(buf, value); - - return reg_set_bin(key, name, buf, sizeof(buf)); -} - addr48_t addr48_in(const void *src) { addr48_t buf = 0; @@ -158,30 +134,6 @@ bool addr48_from_string(addr48_t *dest, const char *src) return _addr_from_string(((unsigned char*)&dest) + 2, src, 6); } -/* Read a 48-bit network address from the registry. - * Returns default_value upon failure. -*/ -addr48_t reg_get_addr48(HKEY key, const char *name, addr48_t default_value) -{ - unsigned char buf[6], default_buf[6]; - - addr48_out(default_buf, default_value); - reg_get_bin(key, name, buf, 6, default_buf); - - return addr48_in(buf); -} - -/* Store a 48-bit network address in the registry. - * Returns true on success, false on failure. -*/ -bool reg_set_addr48(HKEY key, const char *name, addr48_t value) -{ - unsigned char buf[6]; - addr48_out(buf, value); - - return reg_set_bin(key, name, buf, sizeof(buf)); -} - /* Format an IPX address as a string. * * The socket number should be in network byte order and the supplied buffer diff --git a/src/addr.h b/src/addr.h index 4e935c6..edea6ee 100644 --- a/src/addr.h +++ b/src/addr.h @@ -36,9 +36,6 @@ void *addr32_out(void *dest, addr32_t src); char *addr32_string(char *buf, addr32_t addr); bool addr32_from_string(addr32_t *dest, const char *src); -addr32_t reg_get_addr32(HKEY key, const char *name, addr32_t default_value); -bool reg_set_addr32(HKEY key, const char *name, addr32_t value); - #define ADDR48_STRING_SIZE 18 addr48_t addr48_in(const void *src); @@ -47,9 +44,6 @@ void *addr48_out(void *dest, addr48_t src); char *addr48_string(char *buf, addr48_t addr); bool addr48_from_string(addr48_t *dest, const char *src); -addr48_t reg_get_addr48(HKEY key, const char *name, addr48_t default_value); -bool reg_set_addr48(HKEY key, const char *name, addr48_t value); - #define IPX_SADDR_SIZE 36 #define IPX_STRING_ADDR(var, net, node, sock) \ diff --git a/src/common.c b/src/common.c index 0451de2..4be9d50 100644 --- a/src/common.c +++ b/src/common.c @@ -175,6 +175,54 @@ bool reg_set_dword(HKEY key, const char *name, DWORD value) return false; } +/* Read a 32-bit network address from the registry. + * Returns default_value upon failure. +*/ +addr32_t reg_get_addr32(HKEY key, const char *name, addr32_t default_value) +{ + unsigned char buf[4], default_buf[4]; + + addr32_out(default_buf, default_value); + reg_get_bin(key, name, buf, 4, default_buf); + + return addr32_in(buf); +} + +/* Store a 32-bit network address in the registry. + * Returns true on success, false on failure. +*/ +bool reg_set_addr32(HKEY key, const char *name, addr32_t value) +{ + unsigned char buf[4]; + addr32_out(buf, value); + + return reg_set_bin(key, name, buf, sizeof(buf)); +} + +/* Read a 48-bit network address from the registry. + * Returns default_value upon failure. +*/ +addr48_t reg_get_addr48(HKEY key, const char *name, addr48_t default_value) +{ + unsigned char buf[6], default_buf[6]; + + addr48_out(default_buf, default_value); + reg_get_bin(key, name, buf, 6, default_buf); + + return addr48_in(buf); +} + +/* Store a 48-bit network address in the registry. + * Returns true on success, false on failure. +*/ +bool reg_set_addr48(HKEY key, const char *name, addr48_t value) +{ + unsigned char buf[6]; + addr48_out(buf, value); + + return reg_set_bin(key, name, buf, sizeof(buf)); +} + void load_dll(unsigned int dllnum) { char path[512]; diff --git a/src/common.h b/src/common.h index f047414..de343e4 100644 --- a/src/common.h +++ b/src/common.h @@ -53,6 +53,12 @@ bool reg_set_bin(HKEY key, const char *name, void *buf, size_t size); DWORD reg_get_dword(HKEY key, const char *name, DWORD default_value); bool reg_set_dword(HKEY key, const char *name, DWORD value); +addr32_t reg_get_addr32(HKEY key, const char *name, addr32_t default_value); +bool reg_set_addr32(HKEY key, const char *name, addr32_t value); + +addr48_t reg_get_addr48(HKEY key, const char *name, addr48_t default_value); +bool reg_set_addr48(HKEY key, const char *name, addr48_t value); + void load_dll(unsigned int dllnum); void unload_dlls(void); void __stdcall *find_sym(unsigned int dllnum, const char *symbol);