linux内核函数笔记(二)

信号指定处理函数

void (*signal (int signum,void (*handle)(int)))(int);设置某个信号的处理方法

 

int sigaction(int signum,const struct sigaction *act,struct sigaction *oldact);用于检查或改变进程在接到信号时的动作

 

信号集操作函数

static inline void sigaddset(sigset_t *set,int _sig);

static inline void sigdelset(sigset_t *set,int _sig);

static inline void sigismember(sigset_t *set,int _sig);

static inline void sigfindinword(unsigned long word);

static inline void sigemptyset(sigset_t *set);

static inline void sigfillset(sigset_t *set);

 

信号阻塞

int sigprocmask(int how,const sigset_t *set,sigset_t *oldset);

 

int sigpending(sigset_t *set);

int siguspend(const sigset_t *mask);

 

消息管理函数

int msgget(key_t,int flag);

 

int msgrcv(int msqid,struct msgbuf *msgp,int msgsz,long mtype,int msgflg);

 

int msgsnd(int msqid,struct msgbuf *msgp,int msgz,int msgflg);

 

int msgctl(int msgqid,int cmd,struct msqid_ds *buf);

 

线程操作函数

线程的创建

int pthread_create(pthread_t *thread,pthread_attr_t *attr,void *(*start_routine)(void *),void *arg);

 

线程取消

void pthread_testcancel(void);

 

void pthread_cancel(pthread_t thread);

 

int pthread_setcanceltype(int type,int *oldtype);

 

线程私有数据

int pthread_key_create(pthread_key_t *_key,void (*_destr_function)(void *_THROW);

 

int pthreadd_key_delete(pthread_key_t _key) _THROW;

 

int pthread_setspecific(pthread_key_t _key, _const void *_pointer) _THROW;

 

void *pthread_getspecific(pthread_key_t _key) THROW;

 

互斥锁

int pthread_mutex_init (pthread_mutex_t *_testrict _mutex,_const pthread_mutexattr *_restrict _mutex_attr) _THROW;

 

int pthread_mutex_destroy(pthread_mutex_t *_mutex) _THROW;

 

int pthread_mutex_trylock(pthread_mutex_t *_mutex) _THROW;

 

int pthread_mutex_lock(pthread_mutex_t *mutex) _THROW;

 

int pthread_mutex_unlock(pthread_mutex_t *_mutex) _THROW;

 

条件变量

int thread_cond_init(pthread_cond_t *_restrict _cond,_const pthread_condattr_t *_restrict _cond_attr) _THROW;

 

int pthread_cond_destroy(pthread_cond_t *_cond) _THROW;

 

int pthread_cond_signal(pthread_cond_t *_cond) _THROW;

 

int pthread_cond_broadcast(pthread_cond_t *_cond) THOW;

 

int pthread_cond_wait(pthread_cond_t *_restrict _cond pthread_mutex_t *_restrict _mutex);

 

线程终止

void pthread_exit(void *_retval) _attribure_ ((noreturn_));

 

void _pthread_cleanup_push(struct _pthread_cleanup_buffer *_buffer,void (*_routine)(void *),void *_arg) _THROW;

void _pthread_cleanup_pop(struct _pthread_cleanup_buffer *_buffer,int _execute) _THROW;

 

其他线程操作函数

int pthread_join(pthread_t _th,void **_thread_return);

 

int pthread_detach(pthread_t _th) _THROW;

 

pthread_t pthread_self(void) _THROW;

 

int pthread_equal(pthread_t _thread1,pthread_t _thread2) _THROW;

 

int pthread_once(pthread_once_t *_once_control,void (*_init_routine)(void);

 

void pthread_kill_other_threads_np(void) _THROW;

 

网络编程函数

基本操作函数

int socket(int domain,int type,int protocol);

 

int bind(int sockfd,struct sockaddr *my_addr,int addrlen);

 

int connect(int sockfd,struct sockaddr *serv_addr,int addrlen);

 

int listen(int _fd,int _n);

 

int accept(int _fd,_SOCKADDR_ARG _addr,socklen_t *_restrict _addr_len);

 

ssize_t send(int _fd,_const void *_buf,size_t _n,int _flags);

ssize_t send(int _fd,_const void *_buf,size_t _n,int _flags,_CONST_SOCKADDR_ARG _addr,socklen_t _addr_len);

 

ssize_t recv(int _fd,void *_buf,size_t _n,int _flags);

ssize_t recvfrom(int _fd,void *_restrict _buf,size_t _n,int _flags,_SOCKADDR_ARG _addr,socklen_t *_restrict _addrlen);

 

close(fd);

int shutdown(int s,int how);

 

ssize_t sendmsg(int _fd,_const struct msghdr *_message,int _flags);

 

ssize_t recvmsg(int _fd,struct msghdr *_message,int _flags);

 

int getsockopt(int _fd,int _level,int _optname,void *_restrict _optval,socklen_t *_restrict optlen);

 

int getsockname(int _fd,_SOCKADDR_ARG _addr,socklen_t *restrict _len);

 

int socketpair(int _domain,int _type,int _protocol,int _fds[2]);

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值