⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 schedule.h

📁 IBM Lotus C++ API 7.0a for IBM Lotus Notes/Domino Directory Release --------- ------------------
💻 H
字号:

#if defined(OS400) && (__OS400_TGTVRM__ >= 510)
#pragma datamodel(P128)
#endif

/*********************************************************************/
/*                                                                   */
/* Licensed Materials - Property of IBM                              */
/*                                                                   */
/* L-GHUS-5VMPGW, L-GHUS-5S3PEE                                      */
/* (C) Copyright IBM Corp. 1996, 2005  All Rights Reserved           */
/*                                                                   */
/* US Government Users Restricted Rights - Use, duplication or       */
/* disclosure restricted by GSA ADP Schedule Contract with           */
/* IBM Corp.                                                         */
/*                                                                   */
/*********************************************************************/


/* Calendaring and Scheduling structures */

#ifndef SCHEDULE_DEFS
#define SCHEDULE_DEFS

#ifdef __cplusplus
extern "C" {
#endif


#ifndef NSF_DEFS
#include "nsfdata.h"    /* for UNID */
#endif

#ifndef MQ_DEFS
#include "mq.h"
#endif

#ifndef NAME_DEFS
#include "names.h"		/* for MAXUSERNAME */
#endif

/* These are magic cookies */

typedef HANDLE          HCNTNR;         /* Handle to a container */
typedef DWORD           HCNTNROBJ;      /* Handle to an object in a container */
#define NULLCNTNROBJ    0L              /* NULL container  object handle */
#define HSCHEDULE       HCNTNROBJ       /* Handle to a schedule */

typedef struct {
    DWORD           reserved[8];
    DBID            dbReplicaID;        /* Users mail file replica ID */
    TIMEDATE_PAIR   Interval;           /* Events etc. are in this interval */
    DWORD           dwErrGateway;       /* Gateway error retrieving this schedule */
    STATUS          error;              /* Error retrieving this schedule */
    WORD            wReserved;          /* Unused at this time */
    WORD            wOwnerNameSize;     /* Size of owner name (includes term.)*/
                                        /* Followed by owner name */
} SCHEDULE;

/* Functions on containers */

STATUS LNPUBLIC SchContainer_New( HCNTNR FAR *rethCntnr );

void LNPUBLIC SchContainer_Free( HCNTNR hCntnr );

STATUS LNPUBLIC SchContainer_FindSchedule(
        HCNTNR              hCntnr, 
        char FAR            *pszUserName, 
        STATUS FAR          *retErrStatus, 
        DWORD FAR           *retdwErrGateway, 
        HSCHEDULE FAR       *retvbObj, 
        SCHEDULE FAR * FAR  *retpSched );

STATUS LNPUBLIC SchContainer_GetFirstSchedule(
        HANDLE              hCntnr, 
        HSCHEDULE FAR       *rethObj, 
        SCHEDULE FAR * FAR  *retpSchedule );

STATUS LNPUBLIC SchContainer_GetNextSchedule(
        HANDLE              hCntnr, 
        HSCHEDULE           hCurSchedule, 
        HSCHEDULE FAR       *rethNextSchedule, 
        SCHEDULE FAR * FAR  *retpNextSchedule );

/* Functions on schedules */

STATUS LNPUBLIC Schedule_Access(
        HCNTNR          hCntnr, 
        HSCHEDULE       hSched, 
        SCHEDULE FAR    **pretSched );

STATUS LNPUBLIC Schedule_ExtractBusyTimeRange(
        HCNTNR              hCntnr, 
        HCNTNROBJ           hSchedObj, 
        const UNID FAR      *punidIgnore,  
        TIMEDATE_PAIR FAR   *pInterval, 
        DWORD FAR           *retdwSize, 
        HANDLE FAR          *rethRange, 
        HCNTNROBJ           *rethMoreCtx );

STATUS LNPUBLIC Schedule_ExtractMoreBusyTimeRange(
        HCNTNR          hCntnr, 
        HCNTNROBJ       hMoreCtx, 
        const UNID      *punidIgnore,  
        TIMEDATE_PAIR   *pInterval, 
        DWORD           *retdwSize, 
        HANDLE          *rethRange, 
        HCNTNROBJ       *rethMore );

STATUS LNPUBLIC Schedule_ExtractFreeTimeRange(
        HCNTNR              hCntnr, 
        HCNTNROBJ           hSchedObj, 
        const UNID FAR      *punidIgnore, 
        BOOL                fFindFirstFit, 
        WORD                wDuration,
        TIMEDATE_PAIR FAR   *pInterval, 
        DWORD FAR           *retdwSize, 
        HANDLE FAR          *rethRange );

STATUS LNPUBLIC Schedule_ExtractSchedList(
        HCNTNR              hCntnr, 
        HCNTNROBJ           hSchedObj,
        TIMEDATE_PAIR FAR   *pInterval, 
        DWORD FAR           *retdwSize, 
        HANDLE FAR          *rethSchedList, 
        HCNTNROBJ FAR       *rethMore );

STATUS LNPUBLIC Schedule_ExtractMoreSchedList(
        HCNTNR              hCntnr, 
        HCNTNROBJ           hMoreCtx, 
        TIMEDATE_PAIR FAR   *pInterval, 
        DWORD FAR           *retdwSize, 
        HANDLE FAR          *rethSchedList, 
        HCNTNROBJ FAR       *rethMore );


STATUS LNPUBLIC Schedule_GetFirstDetails(
        HCNTNR                          hCntnr, 
        HSCHEDULE                       hSchedObj, 
        HCNTNROBJ                       *rethDetailObj, 
        SCHED_DETAIL_LIST FAR * FAR     *retpDetail );

STATUS LNPUBLIC Schedule_GetNextDetails(
        HCNTNR                          hCntnr, 
        HCNTNROBJ                       hDetailObj, 
        HCNTNROBJ                       *rethNextDetailObj, 
        SCHED_DETAIL_LIST FAR * FAR     *retpNextDetail );

/* Schedule Query APIs */

/* Option flags for scheduling */

#define SCHRQST_COMPOSITE       0x0001L /* Return composite sched */
#define SCHRQST_EACHPERSON      0x0002L /* Return each person's sched */
#define SCHRQST_LOCAL           0x0004L /* Do only local lookup */
#define SCHRQST_FORCEREMOTE     0x0008L /* Force remote lookups even if workstation based mail */
#define SCHRQST_EXTFORMAT       0x0020L /* Get busytime in the SCHED_ENTRY_EXT 
                                        ** format instead of the normal 
                                        ** SCHED_ENTRY format from preR6
                                        ** Note: Use does not guarantee that
                                        ** data will be in SCHED_ENTRY_EXT
                                        ** format since we do not convert data
                                        ** from preR6 servers.
                                        */

STATUS LNPUBLIC SchFreeTimeSearch(
        const UNID FAR      *pApptUnid,
        TIMEDATE FAR        *pApptOrigDate,
        WORD                fFindFirstFit,
        DWORD               dwReserved,         
        TIMEDATE_PAIR FAR   *pInterval,
        WORD                Duration,
        LIST FAR            *pNames,
        HANDLE FAR          *rethRange );

STATUS LNPUBLIC SchRetrieve(
        const UNID FAR      *pApptUnid,
        TIMEDATE FAR        *pApptOrigDate,
        DWORD               dwOptions,
        TIMEDATE_PAIR FAR   *pInterval,
        LIST FAR            *pNames,
        HCNTNR FAR          *rethCntnr,
        void FAR            *MustBeNull1, 
        void FAR            *MustBeNull2,
        void FAR * FAR      *MustBeNull3 );


STATUS LNPUBLIC SchSrvRetrieve(
        LIST FAR            *pClientNames,
        const UNID FAR      *pApptUnid,
        TIMEDATE FAR        *pApptOrigDate,
        DWORD               dwOptions,
        TIMEDATE_PAIR FAR   *pInterval,
        LIST FAR            *pNames,
        HCNTNR FAR          *rethCntnr );

STATUS LNPUBLIC SchSrvRetrieveExt(
        LIST FAR            *pClientNames,
        const UNID FAR      *pApptUnid,
        TIMEDATE FAR        *pApptOrigDate,
        DWORD               dwOptions,
        TIMEDATE_PAIR FAR   *pInterval,
        LIST FAR            *pNames,
        LIST FAR            *pDetails,
        LIST FAR            *piCalList,
        char FAR            *pszProxyUserName,
        char FAR            *pszProxyPassword,
        HCNTNR FAR          *rethCntnr );

#ifdef __cplusplus
}
#endif

#endif /* SCHEDULE_DEFS */


#if defined(OS400) && (__OS400_TGTVRM__ >= 510)
#pragma datamodel(pop)
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -