clockvar.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. /* $OpenBSD: clockvar.h,v 1.1 2002/05/02 22:56:02 miod Exp $ */
  2. /* $NetBSD: clockvar.h,v 1.4 1997/06/22 08:02:18 jonathan Exp $ */
  3. /*
  4. * Copyright (c) 1994, 1995 Carnegie-Mellon University.
  5. * All rights reserved.
  6. *
  7. * Author: Chris G. Demetriou
  8. *
  9. * Permission to use, copy, modify and distribute this software and
  10. * its documentation is hereby granted, provided that both the copyright
  11. * notice and this permission notice appear in all copies of the
  12. * software, derivative works or modified versions, and any portions
  13. * thereof, and that both notices appear in supporting documentation.
  14. *
  15. * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS"
  16. * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND
  17. * FOR ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE.
  18. *
  19. * Carnegie Mellon requests users of this software to return to
  20. *
  21. * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU
  22. * School of Computer Science
  23. * Carnegie Mellon University
  24. * Pittsburgh PA 15213-3890
  25. *
  26. * any improvements or extensions that they make and grant Carnegie the
  27. * rights to redistribute these changes.
  28. */
  29. /*
  30. * Definitions for cpu-independent clock handling for the alpha and pmax.
  31. */
  32. /*
  33. * clocktime structure:
  34. *
  35. * structure passed to TOY clocks when setting them. broken out this
  36. * way, so that the time_t -> field conversion can be shared.
  37. */
  38. struct clocktime {
  39. int year; /* year - 1900 */
  40. int mon; /* month (1 - 12) */
  41. int day; /* day (1 - 31) */
  42. int hour; /* hour (0 - 23) */
  43. int min; /* minute (0 - 59) */
  44. int sec; /* second (0 - 59) */
  45. int dow; /* day of week (0 - 6; 0 = Sunday) */
  46. };
  47. /*
  48. * clockfns structure:
  49. *
  50. * function switch used by chip-independent clock code, to access
  51. * chip-dependent routines.
  52. */
  53. struct clockfns {
  54. void (*cf_init)(struct device *);
  55. void (*cf_get)(struct device *, time_t, struct clocktime *);
  56. void (*cf_set)(struct device *, struct clocktime *);
  57. };
  58. void clockattach(struct device *, const struct clockfns *);