]> git.sesse.net Git - rdpsrv/blobdiff - rdpsrv.c
Pull in lots of protocol stuff from rdesktop.
[rdpsrv] / rdpsrv.c
similarity index 77%
rename from rdpsrv.cpp
rename to rdpsrv.c
index ea4892fdea16e4760d026f86ea98db33172ff102..5b1603d12f1919f0575a094b4523ba9dfd07ca67 100644 (file)
+++ b/rdpsrv.c
@@ -6,23 +6,24 @@
 #include <sys/ioctl.h>
 #include <arpa/inet.h>
 
-static const int RDP_PORT = 3389;
+const int tcp_port_rdp = 3389;
 int create_server_socket();
+int serve_client(int sock);
 
 int main()
 {
        int server_sock = create_server_socket();
        for ( ;; ) {
-               sockaddr_in sin;
+               struct sockaddr_in sin;
                socklen_t len;
-               int sock = accept(server_sock, (sockaddr *)&sin, &len);
+               int sock = accept(server_sock, (struct sockaddr *)&sin, &len);
        
                if (sock == -1) {
                        perror("accept()");
                        exit(1);
                }
 
-               printf("Got socket.\n");
+               serve_client(sock);
 
                close(sock);
        }
@@ -40,7 +41,7 @@ int create_server_socket()
 
        addr.sin_family = AF_INET;
        addr.sin_addr.s_addr = INADDR_ANY;
-       addr.sin_port = htons(RDP_PORT);
+       addr.sin_port = htons(tcp_port_rdp);
 
        do {
                err = bind(server_sock, (struct sockaddr *)&addr, sizeof(struct sockaddr));
@@ -63,3 +64,13 @@ int create_server_socket()
        return server_sock;
 }
 
+
+int serve_client(int sock)
+{
+       for ( ;; ) {
+               unsigned char buf[4096];
+               
+               /* receive ISO packets */
+               
+       }
+}