Connected: An Internet Encyclopedia
RFC 1813 - 6.2 NLM Procedures

Top: Connected: An Internet Encyclopedia
Up: Requests For Comments
Up: RFC 1813
Up: 6. Appendix II: Lock manager protocol
Prev: 6.1.4 Basic Data Types
Next: 6.2.0 Procedure 0: NULL - Do nothing

### 6.2 NLM Procedures

The procedures in the NLM version 4 protocol are semantically the same as those in the NLM version 3 protocol. The only semantic difference is the addition of a NULL procedure that can be used to test for server responsiveness. The procedure names with _MSG and _RES suffixes denote asynchronous messages; for these the void response implies no reply. A syntactic change is that the procedures were renamed to avoid name conflicts with the values of nlm4_stats. Thus the procedure definition is as follows.

          version NLM4_VERS {
             void
                NLMPROC4_NULL(void)                  = 0;

             nlm4_testres
                NLMPROC4_TEST(nlm4_testargs)         = 1;

             nlm4_res
                NLMPROC4_LOCK(nlm4_lockargs)         = 2;

             nlm4_res
                NLMPROC4_CANCEL(nlm4_cancargs)       = 3;

             nlm4_res
                NLMPROC4_UNLOCK(nlm4_unlockargs)     = 4;

             nlm4_res
                NLMPROC4_GRANTED(nlm4_testargs)      = 5;

             void
                NLMPROC4_TEST_MSG(nlm4_testargs)     = 6;

             void
                NLMPROC4_LOCK_MSG(nlm4_lockargs)     = 7;

             void
                NLMPROC4_CANCEL_MSG(nlm4_cancargs)   = 8;

             void
                NLMPROC4_UNLOCK_MSG(nlm4_unlockargs) = 9;

             void
                NLMPROC4_GRANTED_MSG(nlm4_testargs) = 10;

             void
                NLMPROC4_TEST_RES(nlm4_testres)     = 11;

             void
                NLMPROC4_LOCK_RES(nlm4_res)         = 12;

             void
                NLMPROC4_CANCEL_RES(nlm4_res)       = 13;

             void
                NLMPROC4_UNLOCK_RES(nlm4_res)       = 14;

             void
                NLMPROC4_GRANTED_RES(nlm4_res)      = 15;

             nlm4_shareres
                NLMPROC4_SHARE(nlm4_shareargs)      = 20;

             nlm4_shareres
                NLMPROC4_UNSHARE(nlm4_shareargs)    = 21;

             nlm4_res
                NLMPROC4_NM_LOCK(nlm4_lockargs)     = 22;

             void
                NLMPROC4_FREE_ALL(nlm4_notify)      = 23;

          } = 4;

6.2.0 Procedure 0: NULL - Do nothing

Next: 6.2.0 Procedure 0: NULL - Do nothing

Connected: An Internet Encyclopedia
RFC 1813 - 6.2 NLM Procedures