URI:
       ttcp.c - plan9port - [fork] Plan 9 from user space
  HTML git clone git://src.adamsgaard.dk/plan9port
   DIR Log
   DIR Files
   DIR Refs
   DIR README
   DIR LICENSE
       ---
       ttcp.c (606B)
       ---
            1 #include "a.h"
            2 
            3 struct Pfd
            4 {
            5         int fd;
            6 };
            7 
            8 static Pfd*
            9 httpconnect(char *host)
           10 {
           11         char buf[1024];
           12         Pfd *pfd;
           13         int fd;
           14 
           15         snprint(buf, sizeof buf, "tcp!%s!http", host);
           16         if((fd = dial(buf, nil, nil, nil)) < 0)
           17                 return nil;
           18         pfd = emalloc(sizeof *pfd);
           19         pfd->fd = fd;
           20         return pfd;
           21 }
           22 
           23 static void
           24 httpclose(Pfd *pfd)
           25 {
           26         if(pfd == nil)
           27                 return;
           28         close(pfd->fd);
           29         free(pfd);
           30 }
           31 
           32 static int
           33 httpwrite(Pfd *pfd, void *v, int n)
           34 {
           35         return writen(pfd->fd, v, n);
           36 }
           37 
           38 static int
           39 httpread(Pfd *pfd, void *v, int n)
           40 {
           41         return read(pfd->fd, v, n);
           42 }
           43 
           44 Protocol http = {
           45         httpconnect,
           46         httpread,
           47         httpwrite,
           48         httpclose,
           49 };