mirror of
https://github.com/shadowsocks/shadowsocks-libev.git
synced 2026-10-31 22:45:45 +00:00
add header
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
main: main.o
|
||||
main: *.o
|
||||
gcc -g -O2 main.o -lev -L/usr/local/lib -o main
|
||||
main.o: main.c
|
||||
main.o: *.c *.h Makefile
|
||||
gcc -g -O2 -c -o main.o main.c
|
||||
.PHONY: clean
|
||||
clean:
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
#include <sys/types.h>
|
||||
#include <arpa/inet.h>
|
||||
#include <errno.h>
|
||||
#include <ev.h>
|
||||
#include <fcntl.h>
|
||||
#include <langinfo.h>
|
||||
#include <locale.h>
|
||||
@@ -19,13 +18,15 @@
|
||||
#include <time.h>
|
||||
#include <unistd.h>
|
||||
|
||||
#include "main.h"
|
||||
|
||||
#define PORT 1090
|
||||
#define REPLY "HTTP/1.1 200 OK\n\nhello"
|
||||
|
||||
|
||||
// every watcher type has its own typedef'd struct
|
||||
// with the name ev_TYPE
|
||||
ev_io stdin_watcher;
|
||||
ev_timer timeout_watcher;
|
||||
|
||||
struct server_ctx {
|
||||
ev_io io;
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
#pragma once
|
||||
|
||||
#include <ev.h>
|
||||
|
||||
#define BUF_SIZE 4096
|
||||
|
||||
struct server {
|
||||
int server_fd;
|
||||
char server_buf[BUF_SIZE];
|
||||
int server_buf_len;
|
||||
struct server_read_ctx *server_read_ctx;
|
||||
struct server_write_ctx *server_write_ctx;
|
||||
struct remote *remote;
|
||||
};
|
||||
struct server_read_ctx {
|
||||
ev_io server_read_io;
|
||||
struct server *server;
|
||||
};
|
||||
struct server_write_ctx {
|
||||
ev_io server_write_io;
|
||||
struct server *server;
|
||||
};
|
||||
struct remote {
|
||||
int remote_fd;
|
||||
char remote_buf[BUF_SIZE];
|
||||
int remote_buf_len;
|
||||
struct remote_read_ctx *remote_read_ctx;
|
||||
struct remote_write_ctx *remote_write_ctx;
|
||||
struct server *server;
|
||||
};
|
||||
struct remote_read_ctx {
|
||||
ev_io remote_read_io;
|
||||
struct remote *remote;
|
||||
};
|
||||
struct remote_write_ctx {
|
||||
ev_io remote_write_io;
|
||||
struct remote *remote;
|
||||
};
|
||||
|
||||
|
||||
static void
|
||||
accept_cb (EV_P_ ev_io *w, int revents);
|
||||
static void
|
||||
server_read_cb (EV_P_ ev_io *w, int revents);
|
||||
static void
|
||||
server_write_cb (EV_P_ ev_io *w, int revents);
|
||||
static void
|
||||
remote_read_cb (EV_P_ ev_io *w, int revents);
|
||||
static void
|
||||
remote_write_cb (EV_P_ ev_io *w, int revents);
|
||||
|
||||
Reference in New Issue
Block a user