1 /**
2  * This file has no copyright assigned and is placed in the Public Domain.
3  * This file is part of the mingw-w64 runtime package.
4  * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5  */
6 #ifndef _INC_CSCOBJ
7 #define _INC_CSCOBJ
8 #if (_WIN32_WINNT >= 0x0600)
9 #ifdef __cplusplus
10 extern "C" {
11 #endif
12 
13 typedef enum _OFFLINEFILES_CACHING_MODE {
14   OFFLINEFILES_CACHING_MODE_NONE              = 0,
15   OFFLINEFILES_CACHING_MODE_NOCACHING         = 1,
16   OFFLINEFILES_CACHING_MODE_MANUAL            = 2,
17   OFFLINEFILES_CACHING_MODE_AUTO_DOC          = 3,
18   OFFLINEFILES_CACHING_MODE_AUTO_PROGANDDOC   = 4
19 } OFFLINEFILES_CACHING_MODE;
20 
21 typedef enum _OFFLINEFILES_COMPARE {
22   OFFLINEFILES_COMPARE_EQ    = 0,
23   OFFLINEFILES_COMPARE_NEQ   = 1,
24   OFFLINEFILES_COMPARE_LT    = 2,
25   OFFLINEFILES_COMPARE_GT    = 3,
26   OFFLINEFILES_COMPARE_LTE   = 4,
27   OFFLINEFILES_COMPARE_GTE   = 5
28 } OFFLINEFILES_COMPARE;
29 
30 typedef enum _OFFLINEFILES_CONNECT_STATE {
31   OFFLINEFILES_CONNECT_STATE_UNKNOWN                       = 0,
32   OFFLINEFILES_CONNECT_STATE_OFFLINE                       = 1,
33   OFFLINEFILES_CONNECT_STATE_ONLINE                        = 2,
34   OFFLINEFILES_CONNECT_STATE_TRANSPARENTLY_CACHED          = 3,
35   OFFLINEFILES_CONNECT_STATE_PARTLY_TRANSPARENTLY_CACHED   = 4
36 } OFFLINEFILES_CONNECT_STATE;
37 
38 typedef enum _OFFLINEFILES_EVENTS {
39   OFFLINEFILES_EVENT_CACHEMOVED                   = 0,
40   OFFLINEFILES_EVENT_CACHEISFULL                  = 1,
41   OFFLINEFILES_EVENT_CACHEISCORRUPTED             = 2,
42   OFFLINEFILES_EVENT_ENABLED                      = 3,
43   OFFLINEFILES_EVENT_ENCRYPTIONCHANGED            = 4,
44   OFFLINEFILES_EVENT_SYNCBEGIN                    = 5,
45   OFFLINEFILES_EVENT_SYNCFILERESULT               = 6,
46   OFFLINEFILES_EVENT_SYNCCONFLICTRECADDED         = 7,
47   OFFLINEFILES_EVENT_SYNCCONFLICTRECUPDATED       = 8,
48   OFFLINEFILES_EVENT_SYNCCONFLICTRECREMOVED       = 9,
49   OFFLINEFILES_EVENT_SYNCEND                      = 10,
50   OFFLINEFILES_EVENT_BACKGROUNDSYNCBEGIN          = 11,
51   OFFLINEFILES_EVENT_BACKGROUNDSYNCEND            = 12,
52   OFFLINEFILES_EVENT_NETTRANSPORTARRIVED          = 13,
53   OFFLINEFILES_EVENT_NONETTRANSPORTS              = 14,
54   OFFLINEFILES_EVENT_ITEMDISCONNECTED             = 15,
55   OFFLINEFILES_EVENT_ITEMRECONNECTED              = 16,
56   OFFLINEFILES_EVENT_ITEMAVAILABLEOFFLINE         = 17,
57   OFFLINEFILES_EVENT_ITEMNOTAVAILABLEOFFLINE      = 18,
58   OFFLINEFILES_EVENT_ITEMPINNED                   = 19,
59   OFFLINEFILES_EVENT_ITEMNOTPINNED                = 20,
60   OFFLINEFILES_EVENT_ITEMMODIFIED                 = 21,
61   OFFLINEFILES_EVENT_ITEMADDEDTOCACHE             = 22,
62   OFFLINEFILES_EVENT_ITEMDELETEDFROMCACHE         = 23,
63   OFFLINEFILES_EVENT_ITEMRENAMED                  = 24,
64   OFFLINEFILES_EVENT_DATALOST                     = 25,
65   OFFLINEFILES_EVENT_PING                         = 26,
66   OFFLINEFILES_EVENT_ITEMRECONNECTBEGIN           = 27,
67   OFFLINEFILES_EVENT_ITEMRECONNECTEND             = 28,
68   OFFLINEFILES_EVENT_CACHEEVICTBEGIN              = 29,
69   OFFLINEFILES_EVENT_CACHEEVICTEND                = 30,
70   OFFLINEFILES_EVENT_POLICYCHANGEDETECTED         = 31,
71   OFFLINEFILES_EVENT_PREFERENCECHANGEDETECTED     = 32,
72   OFFLINEFILES_EVENT_SETTINGSCHANGESAPPLIED       = 33,
73   OFFLINEFILES_EVENT_TRANSPARENTCACHEITEMNOTIFY   = 34,
74   OFFLINEFILES_EVENT_PREFETCHFILEBEGIN            = 35,
75   OFFLINEFILES_EVENT_PREFETCHFILEEND              = 36
76 } OFFLINEFILES_EVENTS;
77 
78 typedef enum _OFFLINEFILES_ITEM_COPY {
79   OFFLINEFILES_ITEM_COPY_LOCAL      = 0,
80   OFFLINEFILES_ITEM_COPY_REMOTE     = 1,
81   OFFLINEFILES_ITEM_COPY_ORIGINAL   = 2
82 } OFFLINEFILES_ITEM_COPY;
83 
84 typedef enum _OFFLINEFILES_ITEM_TIME {
85   OFFLINEFILES_ITEM_TIME_CREATION     = 0,
86   OFFLINEFILES_ITEM_TIME_LASTACCESS   = 1,
87   OFFLINEFILES_ITEM_TIME_LASTWRITE    = 2
88 } OFFLINEFILES_ITEM_TIME;
89 
90 typedef enum _OFFLINEFILES_ITEM_TYPE {
91   OFFLINEFILES_ITEM_TYPE_FILE        = 0,
92   OFFLINEFILES_ITEM_TYPE_DIRECTORY   = 1,
93   OFFLINEFILES_ITEM_TYPE_SHARE       = 2,
94   OFFLINEFILES_ITEM_TYPE_SERVER      = 3
95 } OFFLINEFILES_ITEM_TYPE;
96 
97 typedef enum _OFFLINEFILES_OFFLINE_REASON {
98   OFFLINEFILES_OFFLINE_REASON_UNKNOWN                 = 0,
99   OFFLINEFILES_OFFLINE_REASON_NOT_APPLICABLE          = 1,
100   OFFLINEFILES_OFFLINE_REASON_CONNECTION_FORCED       = 2,
101   OFFLINEFILES_OFFLINE_REASON_CONNECTION_SLOW         = 3,
102   OFFLINEFILES_OFFLINE_REASON_CONNECTION_ERROR        = 4,
103   OFFLINEFILES_OFFLINE_REASON_ITEM_VERSION_CONFLICT   = 5,
104   OFFLINEFILES_OFFLINE_REASON_ITEM_SUSPENDED          = 6
105 } OFFLINEFILES_OFFLINE_REASON;
106 
107 typedef enum _OFFLINEFILES_OP_RESPONSE {
108   OFFLINEFILES_OP_CONTINUE   = 0,
109   OFFLINEFILES_OP_RETRY      = 1,
110   OFFLINEFILES_OP_ABORT      = 2
111 } OFFLINEFILES_OP_RESPONSE;
112 
113 typedef enum _OFFLINEFILES_PATHFILTER_MATCH {
114   OFFLINEFILES_PATHFILTER_SELF               = 0,
115   OFFLINEFILES_PATHFILTER_CHILD              = 1,
116   OFFLINEFILES_PATHFILTER_DESCENDENT         = 2,
117   OFFLINEFILES_PATHFILTER_SELFORCHILD        = 3,
118   OFFLINEFILES_PATHFILTER_SELFORDESCENDENT   = 4
119 } OFFLINEFILES_PATHFILTER_MATCH;
120 
121 typedef enum _OFFLINEFILES_SETTING_VALUE_TYPE {
122   OFFLINEFILES_SETTING_VALUE_UI4                    = 0,
123   OFFLINEFILES_SETTING_VALUE_BSTR                   = 1,
124   OFFLINEFILES_SETTING_VALUE_BSTR_DBLNULTERM        = 2,
125   OFFLINEFILES_SETTING_VALUE_2DIM_ARRAY_BSTR_UI4    = 3,
126   OFFLINEFILES_SETTING_VALUE_2DIM_ARRAY_BSTR_BSTR   = 4
127 } OFFLINEFILES_SETTING_VALUE_TYPE;
128 
129 typedef enum _OFFLINEFILES_SYNC_CONFLICT_RESOLVE {
130   OFFLINEFILES_SYNC_CONFLICT_RESOLVE_NONE             = 0,
131   OFFLINEFILES_SYNC_CONFLICT_RESOLVE_KEEPLOCAL        = 1,
132   OFFLINEFILES_SYNC_CONFLICT_RESOLVE_KEEPREMOTE       = 2,
133   OFFLINEFILES_SYNC_CONFLICT_RESOLVE_KEEPALLCHANGES   = 3,
134   OFFLINEFILES_SYNC_CONFLICT_RESOLVE_KEEPLATEST       = 4,
135   OFFLINEFILES_SYNC_CONFLICT_RESOLVE_LOG              = 5,
136   OFFLINEFILES_SYNC_CONFLICT_RESOLVE_SKIP             = 6,
137   OFFLINEFILES_SYNC_CONFLICT_ABORT                    = 7
138 } OFFLINEFILES_SYNC_CONFLICT_RESOLVE;
139 
140 typedef enum _OFFLINEFILES_SYNC_OPERATION {
141   OFFLINEFILES_SYNC_OPERATION_CREATE_COPY_ON_SERVER   = 0,
142   OFFLINEFILES_SYNC_OPERATION_CREATE_COPY_ON_CLIENT   = 1,
143   OFFLINEFILES_SYNC_OPERATION_SYNC_TO_SERVER          = 2,
144   OFFLINEFILES_SYNC_OPERATION_SYNC_TO_CLIENT          = 3,
145   OFFLINEFILES_SYNC_OPERATION_DELETE_SERVER_COPY      = 4,
146   OFFLINEFILES_SYNC_OPERATION_DELETE_CLIENT_COPY      = 5,
147   OFFLINEFILES_SYNC_OPERATION_PIN                     = 6,
148   OFFLINEFILES_SYNC_OPERATION_PREPARE                 = 7
149 } OFFLINEFILES_SYNC_OPERATION;
150 
151 typedef enum _OFFLINEFILES_SYNC_STATE {
152   OFFLINEFILES_SYNC_STATE_Stable                                               = 0,
153   OFFLINEFILES_SYNC_STATE_FileOnClient_DirOnServer                             = 1,
154   OFFLINEFILES_SYNC_STATE_FileOnClient_NoServerCopy                            = 2,
155   OFFLINEFILES_SYNC_STATE_DirOnClient_FileOnServer                             = 3,
156   OFFLINEFILES_SYNC_STATE_DirOnClient_FileChangedOnServer                      = 4,
157   OFFLINEFILES_SYNC_STATE_DirOnClient_NoServerCopy                             = 5,
158   OFFLINEFILES_SYNC_STATE_FileCreatedOnClient_NoServerCopy                     = 6,
159   OFFLINEFILES_SYNC_STATE_FileCreatedOnClient_FileChangedOnServer              = 7,
160   OFFLINEFILES_SYNC_STATE_FileCreatedOnClient_DirChangedOnServer               = 8,
161   OFFLINEFILES_SYNC_STATE_FileCreatedOnClient_FileOnServer                     = 9,
162   OFFLINEFILES_SYNC_STATE_FileCreatedOnClient_DirOnServer                      = 10,
163   OFFLINEFILES_SYNC_STATE_FileCreatedOnClient_DeletedOnServer                  = 11,
164   OFFLINEFILES_SYNC_STATE_FileChangedOnClient_ChangedOnServer                  = 12,
165   OFFLINEFILES_SYNC_STATE_FileChangedOnClient_DirOnServer                      = 13,
166   OFFLINEFILES_SYNC_STATE_FileChangedOnClient_DirChangedOnServer               = 14,
167   OFFLINEFILES_SYNC_STATE_FileChangedOnClient_DeletedOnServer                  = 15,
168   OFFLINEFILES_SYNC_STATE_FileSparseOnClient_ChangedOnServer                   = 16,
169   OFFLINEFILES_SYNC_STATE_FileSparseOnClient_DeletedOnServer                   = 17,
170   OFFLINEFILES_SYNC_STATE_FileSparseOnClient_DirOnServer                       = 18,
171   OFFLINEFILES_SYNC_STATE_FileSparseOnClient_DirChangedOnServer                = 19,
172   OFFLINEFILES_SYNC_STATE_DirCreatedOnClient_NoServerCopy                      = 20,
173   OFFLINEFILES_SYNC_STATE_DirCreatedOnClient_DirOnServer                       = 21,
174   OFFLINEFILES_SYNC_STATE_DirCreatedOnClient_FileOnServer                      = 22,
175   OFFLINEFILES_SYNC_STATE_DirCreatedOnClient_FileChangedOnServer               = 23,
176   OFFLINEFILES_SYNC_STATE_DirCreatedOnClient_DirChangedOnServer                = 24,
177   OFFLINEFILES_SYNC_STATE_DirCreatedOnClient_DeletedOnServer                   = 25,
178   OFFLINEFILES_SYNC_STATE_DirChangedOnClient_FileOnServer                      = 26,
179   OFFLINEFILES_SYNC_STATE_DirChangedOnClient_FileChangedOnServer               = 27,
180   OFFLINEFILES_SYNC_STATE_DirChangedOnClient_ChangedOnServer                   = 28,
181   OFFLINEFILES_SYNC_STATE_DirChangedOnClient_DeletedOnServer                   = 29,
182   OFFLINEFILES_SYNC_STATE_NoClientCopy_FileOnServer                            = 30,
183   OFFLINEFILES_SYNC_STATE_NoClientCopy_DirOnServer                             = 31,
184   OFFLINEFILES_SYNC_STATE_NoClientCopy_FileChangedOnServer                     = 32,
185   OFFLINEFILES_SYNC_STATE_NoClientCopy_DirChangedOnServer                      = 33,
186   OFFLINEFILES_SYNC_STATE_DeletedOnClient_FileOnServer                         = 34,
187   OFFLINEFILES_SYNC_STATE_DeletedOnClient_DirOnServer                          = 35,
188   OFFLINEFILES_SYNC_STATE_DeletedOnClient_FileChangedOnServer                  = 36,
189   OFFLINEFILES_SYNC_STATE_DeletedOnClient_DirChangedOnServer                   = 37,
190   OFFLINEFILES_SYNC_STATE_FileSparseOnClient                                   = 38,
191   OFFLINEFILES_SYNC_STATE_FileChangedOnClient                                  = 39,
192   OFFLINEFILES_SYNC_STATE_FileRenamedOnClient                                  = 40,
193   OFFLINEFILES_SYNC_STATE_DirSparseOnClient                                    = 41,
194   OFFLINEFILES_SYNC_STATE_DirChangedOnClient                                   = 42,
195   OFFLINEFILES_SYNC_STATE_DirRenamedOnClient                                   = 43,
196   OFFLINEFILES_SYNC_STATE_FileChangedOnServer                                  = 44,
197   OFFLINEFILES_SYNC_STATE_FileRenamedOnServer                                  = 45,
198   OFFLINEFILES_SYNC_STATE_FileDeletedOnServer                                  = 46,
199   OFFLINEFILES_SYNC_STATE_DirChangedOnServer                                   = 47,
200   OFFLINEFILES_SYNC_STATE_DirRenamedOnServer                                   = 48,
201   OFFLINEFILES_SYNC_STATE_DirDeletedOnServer                                   = 49,
202   OFFLINEFILES_SYNC_STATE_FileReplacedAndDeletedOnClient_FileOnServer          = 50,
203   OFFLINEFILES_SYNC_STATE_FileReplacedAndDeletedOnClient_FileChangedOnServer   = 51,
204   OFFLINEFILES_SYNC_STATE_FileReplacedAndDeletedOnClient_DirOnServer           = 52,
205   OFFLINEFILES_SYNC_STATE_FileReplacedAndDeletedOnClient_DirChangedOnServer    = 53
206 } OFFLINEFILES_SYNC_STATE;
207 
208 #ifdef __cplusplus
209 }
210 #endif
211 #endif /*(_WIN32_WINNT >= 0x0600)*/
212 #endif /*_INC_CSCOBJ*/
213 
214