/
usr
/
src
/
kernels
/
4.18.0-553.52.1.el8_10.x86_64
/
include
/
linux
/
File Upload :
llllll
Current File: //usr/src/kernels/4.18.0-553.52.1.el8_10.x86_64/include/linux/delayed_call.h
/* SPDX-License-Identifier: GPL-2.0 */ #ifndef _DELAYED_CALL_H #define _DELAYED_CALL_H /* * Poor man's closures; I wish we could've done them sanely polymorphic, * but... */ struct delayed_call { void (*fn)(void *); void *arg; }; #define DEFINE_DELAYED_CALL(name) struct delayed_call name = {NULL, NULL} /* I really wish we had closures with sane typechecking... */ static inline void set_delayed_call(struct delayed_call *call, void (*fn)(void *), void *arg) { call->fn = fn; call->arg = arg; } static inline void do_delayed_call(struct delayed_call *call) { if (call->fn) call->fn(call->arg); } static inline void clear_delayed_call(struct delayed_call *call) { call->fn = NULL; } #endif
Copyright ©2k19 -
Hexid
|
Tex7ure