linux/fs/lockd/svc4proc.c

// SPDX-License-Identifier: GPL-2.0
/*
 * linux/fs/lockd/svc4proc.c
 *
 * Lockd server procedures. We don't implement the NLM_*_RES 
 * procedures because we don't use the async procedures.
 *
 * Copyright (C) 1996, Olaf Kirch <[email protected]>
 */

#include <linux/types.h>
#include <linux/time.h>
#include <linux/lockd/lockd.h>
#include <linux/lockd/share.h>
#include <linux/sunrpc/svc_xprt.h>

#define NLMDBG_FACILITY

/*
 * Obtain client and file from arguments
 */
static __be32
nlm4svc_retrieve_args(struct svc_rqst *rqstp, struct nlm_args *argp,
			struct nlm_host **hostp, struct nlm_file **filp)
{}

/*
 * NULL: Test for presence of service
 */
static __be32
nlm4svc_proc_null(struct svc_rqst *rqstp)
{}

/*
 * TEST: Check for conflicting lock
 */
static __be32
__nlm4svc_proc_test(struct svc_rqst *rqstp, struct nlm_res *resp)
{}

static __be32
nlm4svc_proc_test(struct svc_rqst *rqstp)
{}

static __be32
__nlm4svc_proc_lock(struct svc_rqst *rqstp, struct nlm_res *resp)
{}

static __be32
nlm4svc_proc_lock(struct svc_rqst *rqstp)
{}

static __be32
__nlm4svc_proc_cancel(struct svc_rqst *rqstp, struct nlm_res *resp)
{}

static __be32
nlm4svc_proc_cancel(struct svc_rqst *rqstp)
{}

/*
 * UNLOCK: release a lock
 */
static __be32
__nlm4svc_proc_unlock(struct svc_rqst *rqstp, struct nlm_res *resp)
{}

static __be32
nlm4svc_proc_unlock(struct svc_rqst *rqstp)
{}

/*
 * GRANTED: A server calls us to tell that a process' lock request
 * was granted
 */
static __be32
__nlm4svc_proc_granted(struct svc_rqst *rqstp, struct nlm_res *resp)
{}

static __be32
nlm4svc_proc_granted(struct svc_rqst *rqstp)
{}

/*
 * This is the generic lockd callback for async RPC calls
 */
static void nlm4svc_callback_exit(struct rpc_task *task, void *data)
{}

static void nlm4svc_callback_release(void *data)
{}

static const struct rpc_call_ops nlm4svc_callback_ops =;

/*
 * `Async' versions of the above service routines. They aren't really,
 * because we send the callback before the reply proper. I hope this
 * doesn't break any clients.
 */
static __be32 nlm4svc_callback(struct svc_rqst *rqstp, u32 proc,
		__be32 (*func)(struct svc_rqst *,  struct nlm_res *))
{}

static __be32 nlm4svc_proc_test_msg(struct svc_rqst *rqstp)
{}

static __be32 nlm4svc_proc_lock_msg(struct svc_rqst *rqstp)
{}

static __be32 nlm4svc_proc_cancel_msg(struct svc_rqst *rqstp)
{}

static __be32 nlm4svc_proc_unlock_msg(struct svc_rqst *rqstp)
{}

static __be32 nlm4svc_proc_granted_msg(struct svc_rqst *rqstp)
{}

/*
 * SHARE: create a DOS share or alter existing share.
 */
static __be32
nlm4svc_proc_share(struct svc_rqst *rqstp)
{}

/*
 * UNSHARE: Release a DOS share.
 */
static __be32
nlm4svc_proc_unshare(struct svc_rqst *rqstp)
{}

/*
 * NM_LOCK: Create an unmonitored lock
 */
static __be32
nlm4svc_proc_nm_lock(struct svc_rqst *rqstp)
{}

/*
 * FREE_ALL: Release all locks and shares held by client
 */
static __be32
nlm4svc_proc_free_all(struct svc_rqst *rqstp)
{}

/*
 * SM_NOTIFY: private callback from statd (not part of official NLM proto)
 */
static __be32
nlm4svc_proc_sm_notify(struct svc_rqst *rqstp)
{}

/*
 * client sent a GRANTED_RES, let's remove the associated block
 */
static __be32
nlm4svc_proc_granted_res(struct svc_rqst *rqstp)
{}

static __be32
nlm4svc_proc_unused(struct svc_rqst *rqstp)
{}


/*
 * NLM Server procedures.
 */

struct nlm_void			{};

#define Ck
#define No
#define St
#define Rg

const struct svc_procedure nlmsvc_procedures4[24] =;