fdevent.h

来自「Android 一些工具」· C头文件 代码 · 共 75 行

H
75
字号
/* * Copyright (C) 2006 The Android Open Source Project * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *      http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */#ifndef __FDEVENT_H#define __FDEVENT_H/* events that may be observed */#define FDE_READ              0x0001#define FDE_WRITE             0x0002#define FDE_ERROR             0x0004/* features that may be set (via the events set/add/del interface) */#define FDE_DONT_CLOSE        0x0080typedef struct fdevent fdevent;typedef void (*fd_func)(int fd, unsigned events, void *userdata);/* Allocate and initialize a new fdevent object*/fdevent *fdevent_create(int fd, fd_func func, void *arg);/* Uninitialize and deallocate an fdevent object that was** created by fdevent_create()*/void fdevent_destroy(fdevent *fde);/* Initialize an fdevent object that was externally allocated*/void fdevent_install(fdevent *fde, int fd, fd_func func, void *arg);/* Uninitialize an fdevent object that was initialized by** fdevent_install()*/void fdevent_remove(fdevent *item);/* Change which events should cause notifications*/void fdevent_set(fdevent *fde, unsigned events);void fdevent_add(fdevent *fde, unsigned events);void fdevent_del(fdevent *fde, unsigned events);/* loop forever, handling events.*/void fdevent_loop();struct fdevent {    fdevent *next;    fdevent *prev;    int fd;    unsigned short state;    unsigned short events;        fd_func func;    void *arg;};#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?