close(cdev->fd);
}
+SHL_EXPORT
int uvt_cdev_new(struct uvt_cdev **out, struct uvt_ctx *ctx,
const char *name, unsigned int major, unsigned int minor)
{
return ret;
}
+SHL_EXPORT
void uvt_cdev_ref(struct uvt_cdev *cdev)
{
if (!cdev || !cdev->ref)
++cdev->ref;
}
+SHL_EXPORT
void uvt_cdev_unref(struct uvt_cdev *cdev)
{
if (!cdev || !cdev->ref || --cdev->ref)
free(cdev);
}
+SHL_EXPORT
int uvt_cdev_register_cb(struct uvt_cdev *cdev, uvt_cdev_cb cb, void *data)
{
if (!cdev)
return shl_hook_add_cast(cdev->hook, cb, data, false);
}
+SHL_EXPORT
void uvt_cdev_unregister_cb(struct uvt_cdev *cdev, uvt_cdev_cb cb, void *data)
{
if (!cdev)
#include <string.h>
#include <unistd.h>
#include "shl_llog.h"
+#include "shl_misc.h"
#include "uvt.h"
#include "uvt_internal.h"
#define LLOG_SUBSYSTEM "uvt_ctx"
+SHL_EXPORT
int uvt_ctx_new(struct uvt_ctx **out, uvt_log_t log, void *log_data)
{
struct uvt_ctx *ctx;
return ret;
}
+SHL_EXPORT
void uvt_ctx_ref(struct uvt_ctx *ctx)
{
if (!ctx || !ctx->ref)
++ctx->ref;
}
+SHL_EXPORT
void uvt_ctx_unref(struct uvt_ctx *ctx)
{
if (!ctx || !ctx->ref || --ctx->ref)
free(ctx);
}
+SHL_EXPORT
int uvt_ctx_get_fd(struct uvt_ctx *ctx)
{
if (!ctx)
return ev_eloop_get_fd(ctx->eloop);
}
+SHL_EXPORT
void uvt_ctx_dispatch(struct uvt_ctx *ctx)
{
if (!ctx)