aboutsummaryrefslogtreecommitdiffstats
path: root/skype/client.c
blob: 66a3f770aef82e08bcbbd4cd28d0d11fa30a88b6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>

#define MESSAGE_LEN 1023
#define PORTNUM 2727

char *invoke(int sock, char *cmd)
{
	char buf[MESSAGE_LEN+1];
	int len;

	write(sock, cmd, strlen(cmd));
	len = recv(sock, buf, MESSAGE_LEN, 0);
	buf[len] = '\0';
	return strdup(buf);
}

int main(int argc, char *argv[])
{
	int sock;
	struct sockaddr_in dest;
	char *ptr;

	sock = socket(AF_INET, SOCK_STREAM, 0);

	memset(&dest, 0, sizeof(dest));
	dest.sin_family = AF_INET;
	dest.sin_addr.s_addr = inet_addr("127.0.0.1");
	dest.sin_port = htons(PORTNUM);

	connect(sock, (struct sockaddr *)&dest, sizeof(struct sockaddr));

	ptr = invoke(sock, "SET USER foo ISAUTHORIZED FALSE");
	printf("ptr: '%s'\n", ptr);
	close(sock);
	return(0);
}