topical media & game development

talk show tell print

lib-of-vs-libs-QTDevWin-CIncludes-CFDate.h / h



  /*
       File:       CFDate.h
   
       Contains:   CoreFoundation date
   
       Version:    Technology: Mac OS X
                   Release:    QuickTime 6.0.2
   
       Copyright:  (c) 1999-2001 by Apple Computer, Inc., all rights reserved
   
       Bugs?:      For bug reports, consult the following page on
                   the World Wide Web:
   
                       http://developer.apple.com/bugreporter/
   
  */
  ifndef __CFDATE__
  define __CFDATE__
  
  ifndef __CFBASE__
  include <CFBase.h>
  endif
  
  if PRAGMA_ONCE
  #pragma once
  endif
  
  ifdef __cplusplus
  extern "C" {
  endif
  
  if PRAGMA_IMPORT
  #pragma import on
  endif
  
  if PRAGMA_STRUCT_ALIGN
      #pragma options align=mac68k
  #elif PRAGMA_STRUCT_PACKPUSH
      #pragma pack(push, 2)
  #elif PRAGMA_STRUCT_PACK
      #pragma pack(2)
  endif
  
  typedef double                          CFTimeInterval;
  typedef CFTimeInterval                  CFAbsoluteTime;
  /* absolute time is the time interval since the reference date */
  /* the reference date (epoch) is 00:00:00 1 January 2001. */
  
  EXTERN_API_C( CFAbsoluteTime )
  CFAbsoluteTimeGetCurrent        (void);
  
  extern const CFAbsoluteTime kCFAbsoluteTimeIntervalSince1970;
  extern const CFAbsoluteTime kCFAbsoluteTimeIntervalSince1904;
  typedef const struct __CFDate * CFDateRef;
  EXTERN_API_C( CFTypeID )
  CFDateGetTypeID                 (void);
  
  EXTERN_API_C( CFDateRef )
  CFDateCreate                    (CFAllocatorRef         allocator,
                                   CFAbsoluteTime         at);
  
  EXTERN_API_C( CFAbsoluteTime )
  CFDateGetAbsoluteTime           (CFDateRef              date);
  
  EXTERN_API_C( CFTimeInterval )
  CFDateGetTimeIntervalSinceDate  (CFDateRef              date,
                                   CFDateRef              otherDate);
  
  EXTERN_API_C( CFComparisonResult )
  CFDateCompare                   (CFDateRef              date,
                                   CFDateRef              otherDate,
                                   void *                 context);
  
  if !defined(__CFTIMEZONE_STRUCT__)
      #define __CFTIMEZONE_STRUCT__ 1
      typedef const struct __CFTimeZone * CFTimeZoneRef;
  endif
  
  struct CFGregorianDate {
      SInt32                          year;
      SInt8                           month;
      SInt8                           day;
      SInt8                           hour;
      SInt8                           minute;
      double                          second;
  };
  typedef struct CFGregorianDate          CFGregorianDate;
  
  struct CFGregorianUnits {
      SInt32                          years;
      SInt32                          months;
      SInt32                          days;
      SInt32                          hours;
      SInt32                          minutes;
      double                          seconds;
  };
  typedef struct CFGregorianUnits         CFGregorianUnits;
  enum {
      kCFGregorianUnitsYears      = (1 << 0),
      kCFGregorianUnitsMonths     = (1 << 1),
      kCFGregorianUnitsDays       = (1 << 2),
      kCFGregorianUnitsHours      = (1 << 3),
      kCFGregorianUnitsMinutes    = (1 << 4),
      kCFGregorianUnitsSeconds    = (1 << 5),
      kCFGregorianAllUnits        = 0x00FFFFFF
  };
  
  EXTERN_API_C( Boolean )
  CFGregorianDateIsValid          (CFGregorianDate        gdate,
                                   CFOptionFlags          unitFlags);
  
  EXTERN_API_C( CFAbsoluteTime )
  CFGregorianDateGetAbsoluteTime  (CFGregorianDate        gdate,
                                   CFTimeZoneRef          tz);
  
  EXTERN_API_C( CFGregorianDate )
  CFAbsoluteTimeGetGregorianDate  (CFAbsoluteTime         at,
                                   CFTimeZoneRef          tz);
  
  EXTERN_API_C( SInt32 )
  CFAbsoluteTimeGetDayOfWeek      (CFAbsoluteTime         at,
                                   CFTimeZoneRef          tz);
  
  EXTERN_API_C( SInt32 )
  CFAbsoluteTimeGetDayOfYear      (CFAbsoluteTime         at,
                                   CFTimeZoneRef          tz);
  
  EXTERN_API_C( SInt32 )
  CFAbsoluteTimeGetWeekOfYear     (CFAbsoluteTime         at,
                                   CFTimeZoneRef          tz);
  
  if PRAGMA_STRUCT_ALIGN
      #pragma options align=reset
  #elif PRAGMA_STRUCT_PACKPUSH
      #pragma pack(pop)
  #elif PRAGMA_STRUCT_PACK
      #pragma pack()
  endif
  
  ifdef PRAGMA_IMPORT_OFF
  #pragma import off
  #elif PRAGMA_IMPORT
  #pragma import reset
  endif
  
  ifdef __cplusplus
  }
  endif
  
  endif /* __CFDATE__ */
  
  


(C) Æliens 04/09/2009

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.