aboutsummaryrefslogtreecommitdiff
path: root/hardinfo/socket.c
diff options
context:
space:
mode:
authorSimon Quigley <tsimonq2@ubuntu.com>2018-12-23 23:54:25 -0600
committerSimon Quigley <tsimonq2@ubuntu.com>2018-12-23 23:54:25 -0600
commita739f196cba9e5c4376e97b1ac95e1d15b1ccb55 (patch)
treeeab9260f076de9ba9bf81e44c727c64a963a2895 /hardinfo/socket.c
parent3972650bc68dc3b846b6eabfd83e37872005741e (diff)
Remove orig content.
Diffstat (limited to 'hardinfo/socket.c')
-rw-r--r--hardinfo/socket.c127
1 files changed, 0 insertions, 127 deletions
diff --git a/hardinfo/socket.c b/hardinfo/socket.c
deleted file mode 100644
index 40cb8e50..00000000
--- a/hardinfo/socket.c
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * HardInfo - Displays System Information
- * Copyright (C) 2003-2007 Leandro A. F. Pereira <leandro@hardinfo.org>
- *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, version 2.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <arpa/inet.h>
-#include <errno.h>
-#include <netdb.h>
-#include <netinet/in.h>
-#include <sys/socket.h>
-#include <sys/types.h>
-#include <unistd.h>
-
-#include <glib.h>
-
-#include "socket.h"
-
-Socket *sock_connect(gchar * host, gint port)
-{
- struct sockaddr_in server;
- Socket *s;
- int sock;
-
- sock = socket(AF_INET, SOCK_STREAM, 0);
- if (sock > 0) {
- memset(&server, 0, sizeof(server));
- server.sin_family = AF_INET;
- server.sin_addr.s_addr = inet_addr(host);
- server.sin_port = htons(port);
-
- if (connect(sock, (struct sockaddr *) (void *) &server, sizeof(server)) < 0) {
- goto cleanup;
- }
-
- s = g_new0(Socket, 1);
- s->sock = sock;
-
- return s;
- }
-
-cleanup:
- close(sock);
-
- return NULL;
-}
-
-/* From: http://www.erlenstar.demon.co.uk/unix/faq_3.html#SEC26 */
-static inline int __sock_is_ready(Socket * s, int mode)
-{
- int rc, fd = s->sock;
- fd_set fds;
- struct timeval tv;
-
- FD_ZERO(&fds);
- FD_SET(fd, &fds);
- tv.tv_sec = tv.tv_usec = 0;
-
- if (mode == 0) {
- /* read */
- rc = select(fd + 1, &fds, NULL, NULL, &tv);
- } else {
- /* write */
- rc = select(fd + 1, NULL, &fds, NULL, &tv);
- }
-
- if (rc < 0)
- return -1;
-
- return FD_ISSET(fd, &fds) ? 1 : 0;
-}
-
-int sock_ready_to_read(Socket * s)
-{
- return __sock_is_ready(s, 0);
-}
-
-int sock_ready_to_write(Socket * s)
-{
- return __sock_is_ready(s, 1);
-}
-
-int sock_read(Socket * s, gchar * buffer, gint size)
-{
- if (size > 2 && sock_ready_to_read(s)) {
- gint n;
-
- n = read(s->sock, buffer, size - 1);
- if (n > 0) {
- buffer[n] = '\0';
- } else {
- return 0;
- }
-
- return n;
- }
-
- return 0;
-}
-
-int sock_write(Socket * s, gchar * str)
-{
- while (!sock_ready_to_write(s));
-
- return write(s->sock, str, strlen(str));
-}
-
-void sock_close(Socket * s)
-{
- shutdown(s->sock, 2);
- close(s->sock);
- g_free(s);
-}