1.4.0 Renamed sock_create() to sock()

This commit is contained in:
seajee
2025-04-26 23:21:15 +02:00
parent c5010e17d1
commit 31d7930b78
10 changed files with 40 additions and 39 deletions

View File

@@ -33,7 +33,7 @@ int main(int argc, char **argv)
address = argv[1];
}
Sock *client = sock_create(SOCK_IPV4, SOCK_TCP);
Sock *client = sock(SOCK_IPV4, SOCK_TCP);
if (client == NULL) {
fprintf(stderr, "ERROR: Could not create socket\n");
return EXIT_FAILURE;

View File

@@ -114,7 +114,7 @@ disconnect:
int main(void)
{
Sock *server = sock_create(SOCK_IPV4, SOCK_TCP);
Sock *server = sock(SOCK_IPV4, SOCK_TCP);
if (server == NULL) {
fprintf(stderr, "ERROR: Could not create socket\n");
return EXIT_FAILURE;

View File

@@ -8,23 +8,23 @@ int main(void)
{
char *err = "None";
Sock *sock = sock_create(SOCK_IPV4, SOCK_TCP);
if (sock == NULL) { err = "create"; goto defer; }
Sock *socket = sock(SOCK_IPV4, SOCK_TCP);
if (socket == NULL) { err = "create"; goto defer; }
SockAddr addr = sock_addr("127.0.0.1", 6969);
if (!sock_connect(sock, addr)) { err = "connect"; goto defer; }
if (!sock_connect(socket, addr)) { err = "connect"; goto defer; }
const char *msg = "Hello from client!";
char buf[128];
memset(buf, 0, sizeof(buf));
sock_send(sock, msg, strlen(msg));
sock_recv(sock, buf, sizeof(buf));
sock_send(socket, msg, strlen(msg));
sock_recv(socket, buf, sizeof(buf));
printf("%.*s\n", (int)sizeof(buf), buf);
defer:
sock_close(sock);
sock_close(socket);
fprintf(stderr, "ERROR: %s: %s\n", err, strerror(errno));
return 0;

View File

@@ -8,24 +8,24 @@ int main(void)
{
bool err = false;
Sock *sock = sock_create(SOCK_IPV6, SOCK_TCP);
if (sock == NULL) { err = "create"; goto defer; }
Sock *s = sock(SOCK_IPV6, SOCK_TCP);
if (s == NULL) { err = "create"; goto defer; }
SockAddr addr = sock_addr("::1", 6969);
if (!sock_connect(sock, addr)) { err = "connect"; goto defer; }
if (!sock_connect(s, addr)) { err = "connect"; goto defer; }
const char *msg = "Hello from client!";
char buf[128];
memset(buf, 0, sizeof(buf));
sock_send(sock, msg, strlen(msg));
sock_recv(sock, buf, sizeof(buf));
printf("%s:%d: %.*s\n", sock->addr.str, sock->addr.port,
sock_send(s, msg, strlen(msg));
sock_recv(s, buf, sizeof(buf));
printf("%s:%d: %.*s\n", s->addr.str, s->addr.port,
(int)sizeof(buf), buf);
defer:
sock_close(sock);
sock_close(s);
if (err) sock_log_error();
return 0;

View File

@@ -8,14 +8,14 @@ int main(void)
{
char *err = "None";
Sock *sock = sock_create(SOCK_IPV4, SOCK_TCP);
if (sock == NULL) { err = "create"; goto defer; }
Sock *server = sock(SOCK_IPV4, SOCK_TCP);
if (server == NULL) { err = "create"; goto defer; }
SockAddr addr = sock_addr("0.0.0.0", 6969);
if (!sock_bind(sock, addr)) { err = "bind"; goto defer; }
if (!sock_listen(sock, 16)) { err = "listen"; goto defer; }
if (!sock_bind(server, addr)) { err = "bind"; goto defer; }
if (!sock_listen(server, 16)) { err = "listen"; goto defer; }
Sock *client = sock_accept(sock);
Sock *client = sock_accept(server);
if (client == NULL) { err = "accept"; goto defer; }
const char *msg = "Hello from server!";
@@ -29,7 +29,7 @@ int main(void)
sock_close(client);
defer:
sock_close(sock);
sock_close(server);
fprintf(stderr, "ERROR: %s: %s\n", err, strerror(errno));
return 0;

View File

@@ -7,14 +7,14 @@ int main(void)
{
bool err = false;
Sock *sock = sock_create(SOCK_IPV6, SOCK_TCP);
if (sock == NULL) { err = true; goto close; }
Sock *server = sock(SOCK_IPV6, SOCK_TCP);
if (server == NULL) { err = true; goto close; }
SockAddr addr = sock_addr("::", 6969);
if (!sock_bind(sock, addr)) { err = true; goto close; }
if (!sock_listen(sock, 16)) { err = true; goto close; }
if (!sock_bind(server, addr)) { err = true; goto close; }
if (!sock_listen(server, 16)) { err = true; goto close; }
Sock *client = sock_accept(sock);
Sock *client = sock_accept(server);
if (client == NULL) { err = true; goto close; }
const char *msg = "Hello from server!";
@@ -29,7 +29,7 @@ int main(void)
sock_close(client);
close:
sock_close(sock);
sock_close(server);
if (err) sock_log_error();
return 0;

View File

@@ -13,17 +13,17 @@ int main(void)
printf("%s:%d\n", addr.str, addr.port);
Sock *sock = sock_create(addr.type, SOCK_TCP);
if (sock == NULL) {
Sock *s = sock(addr.type, SOCK_TCP);
if (s == NULL) {
fprintf(stderr, "sock_create: ");
sock_log_error();
return 1;
}
if (!sock_connect(sock, addr)) {
if (!sock_connect(s, addr)) {
fprintf(stderr, "sock_connect: ");
sock_log_error();
sock_close(sock);
sock_close(s);
return 1;
}
@@ -32,16 +32,16 @@ int main(void)
"Host: example.com\r\n"
"Connection: close\r\n\r\n";
sock_send(sock, req, strlen(req));
sock_send(s, req, strlen(req));
char res[1024];
memset(res, 0, sizeof(res));
while (sock_recv(sock, res, sizeof(res)-1) > 0) {
while (sock_recv(s, res, sizeof(res)-1) > 0) {
printf("%s\n", res);
memset(res, 0, sizeof(res));
}
sock_close(sock);
sock_close(s);
return 0;
}

View File

@@ -6,7 +6,7 @@
int main(void)
{
Sock *client = sock_create(SOCK_IPV4, SOCK_UDP);
Sock *client = sock(SOCK_IPV4, SOCK_UDP);
if (client == NULL) {
perror("sock_create");
return 1;

View File

@@ -8,7 +8,7 @@
int main(void)
{
Sock *server = sock_create(SOCK_IPV4, SOCK_UDP);
Sock *server = sock(SOCK_IPV4, SOCK_UDP);
if (server == NULL) {
perror("sock_create");
return 1;

7
sock.h
View File

@@ -1,4 +1,4 @@
// sock - v1.3.0 - MIT License - https://github.com/seajee/sock.h
// sock - v1.4.0 - MIT License - https://github.com/seajee/sock.h
#ifndef SOCK_H_
#define SOCK_H_
@@ -47,7 +47,7 @@ typedef struct {
SockAddr sock_addr(const char *addr, int port);
// Create a socket with the corresponding domain and type
Sock *sock_create(SockAddrType domain, SockType type);
Sock *sock(SockAddrType domain, SockType type);
// Bind a socket to a specific address
bool sock_bind(Sock *sock, SockAddr addr);
@@ -129,7 +129,7 @@ SockAddr sock_addr(const char *addr, int port)
return sa;
}
Sock *sock_create(SockAddrType domain, SockType type)
Sock *sock(SockAddrType domain, SockType type)
{
Sock *sock = malloc(sizeof(*sock));
if (sock == NULL) {
@@ -309,6 +309,7 @@ void sock_log_error(void)
/*
Revision history:
1.4.0 (2025-04-26) Renamed sock_create() to sock()
1.3.0 (2025-04-26) Renamed sock_log_errors to sock_log_error
1.2.0 (2025-04-26) sock_addr can now resolve hostnames
1.1.0 (2025-04-26) New sock_log_errors function