io.h

typedef int dispatch_fd_t;

void
dispatch_read(dispatch_fd_t fd,
    size_t length,
    dispatch_queue_t queue,
    void (^handler)(dispatch_data_t data, int error));

void
dispatch_write(dispatch_fd_t fd,
    dispatch_data_t data,
    dispatch_queue_t queue,
    void (^handler)(dispatch_data_t _Nullable data, int error));
#endif /* __BLOCKS__ */

DISPATCH_DECL(dispatch_io);

typedef unsigned long dispatch_io_type_t;

dispatch_io_t
dispatch_io_create(dispatch_io_type_t type,
    dispatch_fd_t fd,
    dispatch_queue_t queue,
    void (^cleanup_handler)(int error));

dispatch_io_t
dispatch_io_create_with_path(dispatch_io_type_t type,
    const char *path, int oflag, mode_t mode,
    dispatch_queue_t queue,
    void (^cleanup_handler)(int error));

dispatch_io_t
dispatch_io_create_with_io(dispatch_io_type_t type,
    dispatch_io_t io,
    dispatch_queue_t queue,
    void (^cleanup_handler)(int error));

typedef void (^dispatch_io_handler_t)(bool done, dispatch_data_t _Nullable data,
        int error);

void
dispatch_io_read(dispatch_io_t channel,
    off_t offset,
    size_t length,
    dispatch_queue_t queue,
    dispatch_io_handler_t io_handler);

void
dispatch_io_write(dispatch_io_t channel,
    off_t offset,
    dispatch_data_t data,
    dispatch_queue_t queue,
    dispatch_io_handler_t io_handler);

typedef unsigned long dispatch_io_close_flags_t;

void
dispatch_io_close(dispatch_io_t channel, dispatch_io_close_flags_t flags);

void
dispatch_io_barrier(dispatch_io_t channel, dispatch_block_t barrier);

void
dispatch_io_set_high_water(dispatch_io_t channel, size_t high_water);

void
dispatch_io_set_low_water(dispatch_io_t channel, size_t low_water);

typedef unsigned long dispatch_io_interval_flags_t;

void
dispatch_io_set_interval(dispatch_io_t channel,
    uint64_t interval,
    dispatch_io_interval_flags_t flags);



你可能感兴趣的:(io.h)