Курсовая работа: Реализация сети в операционной системе Linux

int (*accept) (struct socket *sock, struct socket *newsock,

int flags);

int (*getname) (struct socket *sock, struct sockaddr *uaddr,

int *usockaddr_len, int peer);

unsigned int (*poll) (struct file *file, struct socket *sock, struct poll_table_struct *wait);

int (*ioctl) (struct socket *sock, unsigned int cmd,

unsigned long arg);

int (*listen) (struct socket *sock, int len);

int (*shutdown) (struct socket *sock, int flags);

int (*setsockopt) (struct socket *sock, int level, int optname,

char *optval, int optlen);

int (*getsockopt) (struct socket *sock, int level, int optname,

char *optval, int *optlen);

int (*sendmsg) (struct socket *sock, struct msghdr *m, int total_len, struct scm_cookie *scm);

int (*recvmsg) (struct socket *sock, struct msghdr *m, int total_len, int flags, struct scm_cookie *scm);

int (*mmap) (struct file *file, struct socket *sock, struct vm_area_struct * vma);

ssize_t (*sendpage) (struct socket *sock, struct page *page, int offset, size_t size, int flags);

};

наиболее важные поля

* structproto_ops *opsуказывает на протокольно зависимые функции

struct inode на inode файласокета

struct sock* наинетсокет

INET net/sock.h struct sock

struct sock {

/* Socket demultiplex comparisons on incoming packets. */

__u32 daddr; /* Foreign IPv4 addr */

__u32 rcv_saddr; /* Bound local IPv4 addr */

__u16 dport; /* Destination port */

unsigned short num; /* Local port */

К-во Просмотров: 1514
Бесплатно скачать Курсовая работа: Реализация сети в операционной системе Linux