Subject: unable to 'SET_TO_SERVER_TIME'

From: Spencer Shepler <[email-masked]>
Date: Fri, 04 Feb 2000 18:04:30 -0600

In reviewing nfsv3 -> nfsv4 functionality, I have found that
nfsv4 has lost the ability to 'SET_TO_SERVER_TIME' the 
time_access and time_modify recommended attributes.
Because of the new attribute model we have and the way SETATTR
is structure, I have added two new recommended attributes to
provide this functionality.  These attributes are write only
and provide the definitions to provide for set client/server time.

Here are the mods:

---
2.2.  Structured Data Types
   time_how4                                                              |

                  enum time_how4 {                                        |
                          SET_TO_SERVER_TIME4 = 0,                        |
                          SET_TO_CLIENT_TIME4 = 1                         |
                  };                                                      |

   settime4                                                               |

                  union settime4 switch (time_how4 set_it) {              |
                   case SET_TO_CLIENT_TIME4:                              |
                           nfstime4       time;                           |
                   default:                                               |
                           void;                                          |
                  };                                                      |

        The above definitions are used as the attribute definitions to    |
        set time values.  If set_it is SET_TO_SERVER_TIME4, then the      |
        server uses its local time for the time value.                    |

---
5.5.  Recommended Attributes - Definitions

   time_access        47   nfstime4       READ     The time of last       |
                                                   access to the object.  |
                                                                          |

   time_access_set    48   settime4       WRITE    Set the time of last   |
                                                   access to the object.  |
                                                   SETATTR use only.      |

   time_modify        53   nfstime4       READ     The time of last       |
                                                   modification to the    |
                                                   object.                |
                                                                          |

   time_modify_set    54   settime4       WRITE    Set the time of last   |
                                                   modification to the    |
                                                   object.  SETATTR use   |
                                                   only.                  |

--
18.  RPC definition file

   enum time_how4 {                                                       |
           SET_TO_SERVER_TIME4 = 0,                                       |
           SET_TO_CLIENT_TIME4 = 1                                        |
   };                                                                     |

   union settime4 switch (time_how4 set_it) {                             |
    case SET_TO_CLIENT_TIME4:                                             |
            nfstime4       time;                                          |
    default:                                                              |
            void;                                                         |
   };                                                                     |

...

   typedef settime4        fattr4_time_access_set;                        |
   typedef settime4        fattr4_time_modify_set;                        |

...

   const FATTR4_TIME_ACCESS        = 47;                                  |
   const FATTR4_TIME_ACCESS_SET    = 48;                                  |
   const FATTR4_TIME_MODIFY        = 53;                                  |
   const FATTR4_TIME_MODIFY_SET    = 54;                                  |