secondary cache feature in vm.
[minix.git] / lib / libsys / sef_ping.c
blob6c30a6172191633d8379c76704902b7e3fccf7f0
1 #include "syslib.h"
2 #include <assert.h>
3 #include <minix/sysutil.h>
5 /* SEF Ping callbacks. */
6 PRIVATE struct sef_cbs {
7 sef_cb_ping_reply_t sef_cb_ping_reply;
8 } sef_cbs = {
9 SEF_CB_PING_REPLY_DEFAULT
12 /* SEF Ping prototypes for sef_receive(). */
13 PUBLIC _PROTOTYPE( int do_sef_ping_request, (message *m_ptr) );
15 /* Debug. */
16 EXTERN _PROTOTYPE( char* sef_debug_header, (void) );
18 /*===========================================================================*
19 * do_sef_ping_request *
20 *===========================================================================*/
21 PUBLIC int do_sef_ping_request(message *m_ptr)
23 /* Handle a SEF Ping request. */
25 /* Debug. */
26 #if SEF_PING_DEBUG
27 sef_ping_debug_begin();
28 sef_ping_dprint("%s. Got a SEF Ping request! About to reply.\n",
29 sef_debug_header());
30 sef_ping_debug_end();
31 #endif
33 /* Let the callback code handle the request. */
34 sef_cbs.sef_cb_ping_reply(m_ptr->m_source);
36 /* Return OK not to let anybody else intercept the request. */
37 return(OK);
40 /*===========================================================================*
41 * sef_setcb_ping_reply *
42 *===========================================================================*/
43 PUBLIC void sef_setcb_ping_reply(sef_cb_ping_reply_t cb)
45 assert(cb != NULL);
46 sef_cbs.sef_cb_ping_reply = cb;
49 /*===========================================================================*
50 * sef_cb_ping_reply_null *
51 *===========================================================================*/
52 PUBLIC void sef_cb_ping_reply_null(endpoint_t UNUSED(source))
56 /*===========================================================================*
57 * sef_cb_ping_reply_pong *
58 *===========================================================================*/
59 PUBLIC void sef_cb_ping_reply_pong(endpoint_t source)
61 notify(source);