2002-02-22 01:55:02

by Marek Zawadzki

[permalink] [raw]
Subject: How to implement listen and accept routines

Hello,

I want to make my protocol connection-oriented. I am really stuck with
listen and accept routines :-(. As examples, I took:
int tcp_listen_start(struct sock *sk);
struct sock *tcp_accept(struct sock *sk, int flags, int *err);

Could anybody briefly explain me how should I implement them? I know the
purpose of those functions in the userland.
Mainly I have 2 questions:
1. What else besides changing sk->state to TCP_LISTEN should my
"listen_start" do?
2. How do I get a pending "socket" in my "accept" function. Should
sock_alloc a new one or copy it from some queue?

Thanks for any help!
-marek