proto.h 39 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229
  1. /*
  2. * Copyright 2005 - 2016 Zarafa and its licensors
  3. *
  4. * This program is free software: you can redistribute it and/or modify
  5. * it under the terms of the GNU Affero General Public License, version 3,
  6. * as published by the Free Software Foundation.
  7. *
  8. * This program is distributed in the hope that it will be useful,
  9. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  10. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  11. * GNU Affero General Public License for more details.
  12. *
  13. * You should have received a copy of the GNU Affero General Public License
  14. * along with this program. If not, see <http://www.gnu.org/licenses/>.
  15. *
  16. */
  17. //gsoap ns service name: KCmd
  18. //gsoap ns service style: rpc
  19. //gsoap ns service encoding: encoded
  20. //gsoap ns service location: http://localhost:236/
  21. //gsoap ns service namespace: urn:zarafa
  22. //gsoap ns service method-action: KTRAPMARKER ""
  23. #import "xop.h"
  24. #import "xmlmime.h"
  25. struct hiloLong {
  26. int hi;
  27. unsigned int lo;
  28. };
  29. // This is actually implemented in SOAP as a base64, not as an array of unsigned bytes
  30. struct xsd__base64Binary {
  31. unsigned char *__ptr;
  32. int __size;
  33. };
  34. struct xsd__Binary {
  35. _xop__Include xop__Include; // attachment
  36. @char *xmlmime__contentType; // and its contentType
  37. xsd__Binary();
  38. };
  39. typedef struct xsd__base64Binary entryId;
  40. struct mv_i2 {
  41. short int *__ptr;
  42. int __size;
  43. };
  44. struct mv_long {
  45. unsigned int *__ptr;
  46. int __size;
  47. };
  48. struct mv_r4 {
  49. float *__ptr;
  50. int __size;
  51. };
  52. struct mv_double {
  53. double *__ptr;
  54. int __size;
  55. };
  56. struct mv_string8 {
  57. char**__ptr;
  58. int __size;
  59. };
  60. struct mv_hiloLong {
  61. struct hiloLong *__ptr;
  62. int __size;
  63. };
  64. struct mv_binary {
  65. struct xsd__base64Binary *__ptr;
  66. int __size;
  67. };
  68. struct mv_i8 {
  69. LONG64 *__ptr;
  70. int __size;
  71. };
  72. struct restrictTable;
  73. union propValData {
  74. short int i; /* case PT_I2 */
  75. unsigned int ul; /* case PT_ULONG */
  76. float flt; /* case PT_R4 */
  77. double dbl; /* case PT_DOUBLE */
  78. bool b; /* case PT_BOOLEAN */
  79. char* lpszA; /* case PT_STRING8 */
  80. struct hiloLong * hilo;
  81. struct xsd__base64Binary * bin;
  82. LONG64 li; /* case PT_I8 */
  83. struct mv_i2 mvi; /* case PT_MV_I2 */
  84. struct mv_long mvl; /* case PT_MV_LONG */
  85. struct mv_r4 mvflt; /* case PT_MV_R4 */
  86. struct mv_double mvdbl; /* case PT_MV_DOUBLE */
  87. struct mv_string8 mvszA; /* case PT_MV_STRING8 */
  88. struct mv_hiloLong mvhilo;
  89. struct mv_binary mvbin;
  90. struct mv_i8 mvli; /* case PT_MV_I8 */
  91. struct restrictTable *res;
  92. struct actions *actions;
  93. };
  94. struct propVal {
  95. unsigned int ulPropTag;
  96. int __union;
  97. union propValData Value;
  98. propVal();
  99. };
  100. struct propValArray {
  101. struct propVal *__ptr;
  102. int __size;
  103. propValArray();
  104. propValArray(struct propVal *, int = 0);
  105. };
  106. struct propTagArray {
  107. unsigned int *__ptr;
  108. int __size;
  109. propTagArray();
  110. propTagArray(unsigned int *, int = 0);
  111. };
  112. struct entryList {
  113. int __size;
  114. entryId *__ptr;
  115. };
  116. struct saveObject {
  117. int __size; /* # children */
  118. struct saveObject *__ptr; /* child objects */
  119. struct propTagArray delProps;
  120. struct propValArray modProps;
  121. bool bDelete; /* delete this object completely */
  122. unsigned int ulClientId; /* id for the client (PR_ROWID or PR_ATTACH_NUM, otherwise unused) */
  123. unsigned int ulServerId; /* hierarchyid of the server (0 for new item) */
  124. unsigned int ulObjType;
  125. struct entryList *lpInstanceIds; /* Single Instance Id (NULL for new item, or if Single Instancing is unknown) */
  126. };
  127. struct ns:loadObjectResponse {
  128. unsigned int er;
  129. struct saveObject sSaveObject;
  130. };
  131. struct ns:logonResponse {
  132. unsigned int er;
  133. ULONG64 ulSessionId;
  134. char *lpszVersion;
  135. unsigned int ulCapabilities;
  136. struct xsd__base64Binary sLicenseResponse;
  137. struct xsd__base64Binary sServerGuid;
  138. };
  139. struct ns:ssoLogonResponse {
  140. unsigned int er;
  141. ULONG64 ulSessionId;
  142. char *lpszVersion;
  143. unsigned int ulCapabilities;
  144. struct xsd__base64Binary *lpOutput;
  145. struct xsd__base64Binary sLicenseResponse;
  146. struct xsd__base64Binary sServerGuid;
  147. };
  148. struct ns:getStoreResponse {
  149. unsigned int er;
  150. entryId sStoreId; // id of store
  151. entryId sRootId; // root folder id of store
  152. struct xsd__base64Binary guid; // guid of store
  153. char *lpszServerPath;
  154. };
  155. struct ns:getStoreNameResponse {
  156. char *lpszStoreName;
  157. unsigned int er;
  158. };
  159. struct ns:getStoreTypeResponse {
  160. unsigned int ulStoreType;
  161. unsigned int er;
  162. };
  163. // Warning, this is synched with MAPI's types!
  164. enum SortOrderType { EC_TABLE_SORT_ASCEND=0, EC_TABLE_SORT_DESCEND, EC_TABLE_SORT_COMBINE, EC_TABLE_SORT_CATEG_MAX = 4, EC_TABLE_SORT_CATEG_MIN = 8};
  165. struct sortOrder {
  166. unsigned int ulPropTag;
  167. unsigned int ulOrder;
  168. sortOrder();
  169. sortOrder(unsigned int, unsigned int = 0);
  170. };
  171. struct sortOrderArray {
  172. struct sortOrder *__ptr;
  173. int __size;
  174. sortOrderArray();
  175. sortOrderArray(struct sortOrder *, int = 0);
  176. };
  177. struct ns:readPropsResponse {
  178. unsigned int er;
  179. struct propTagArray aPropTag;
  180. struct propValArray aPropVal;
  181. };
  182. struct ns:loadPropResponse {
  183. unsigned int er;
  184. struct propVal *lpPropVal;
  185. };
  186. struct ns:createFolderResponse {
  187. unsigned int er;
  188. entryId sEntryId;
  189. };
  190. struct ns:tableOpenResponse {
  191. unsigned int er;
  192. unsigned int ulTableId;
  193. //tableOpenResponse();
  194. };
  195. struct tableOpenRequest {
  196. entryId sEntryId;
  197. unsigned int ulTableType;
  198. unsigned int ulType;
  199. unsigned int ulFlags;
  200. tableOpenRequest();
  201. };
  202. struct tableSortRequest {
  203. struct sortOrderArray sSortOrder;
  204. unsigned int ulCategories;
  205. unsigned int ulExpanded;
  206. };
  207. struct tableQueryRowsRequest {
  208. unsigned int ulCount;
  209. unsigned int ulFlags;
  210. };
  211. struct rowSet {
  212. struct propValArray *__ptr;
  213. int __size;
  214. };
  215. struct ns:tableQueryRowsResponse {
  216. unsigned int er;
  217. struct rowSet sRowSet;
  218. };
  219. struct ns:tableQueryColumnsResponse {
  220. unsigned int er;
  221. struct propTagArray sPropTagArray;
  222. };
  223. struct ns:tableGetRowCountResponse {
  224. unsigned int er;
  225. unsigned int ulCount;
  226. unsigned int ulRow;
  227. };
  228. struct ns:tableSeekRowResponse {
  229. unsigned int er;
  230. int lRowsSought; // may be negative
  231. };
  232. struct ns:tableBookmarkResponse {
  233. unsigned int er;
  234. unsigned int ulbkPosition;
  235. };
  236. struct ns:tableExpandRowResponse {
  237. unsigned int er;
  238. struct rowSet rowSet;
  239. unsigned int ulMoreRows;
  240. };
  241. struct ns:tableCollapseRowResponse {
  242. unsigned int er;
  243. unsigned int ulRows;
  244. };
  245. struct ns:tableGetCollapseStateResponse {
  246. struct xsd__base64Binary sCollapseState;
  247. unsigned int er;
  248. };
  249. struct ns:tableSetCollapseStateResponse {
  250. unsigned int ulBookmark;
  251. unsigned int er;
  252. };
  253. struct tableMultiRequest {
  254. unsigned int ulTableId;
  255. unsigned int ulFlags;
  256. struct tableOpenRequest *lpOpen; // Open
  257. struct propTagArray *lpSetColumns; // SetColumns
  258. struct restrictTable *lpRestrict; // Restrict
  259. struct tableSortRequest *lpSort; // Sort
  260. struct tableQueryRowsRequest *lpQueryRows; // QueryRows
  261. tableMultiRequest();
  262. };
  263. struct ns:tableMultiResponse {
  264. unsigned int er;
  265. unsigned int ulTableId;
  266. struct rowSet sRowSet; // QueryRows
  267. //tableMultiResponse();
  268. };
  269. struct categoryState {
  270. struct propValArray sProps;
  271. unsigned int fExpanded;
  272. };
  273. struct categoryStateArray {
  274. int __size;
  275. struct categoryState* __ptr;
  276. };
  277. struct collapseState {
  278. struct categoryStateArray sCategoryStates;
  279. struct propValArray sBookMarkProps;
  280. };
  281. struct notificationObject {
  282. entryId* pEntryId;
  283. unsigned int ulObjType;
  284. entryId* pParentId;
  285. entryId* pOldId;
  286. entryId* pOldParentId;
  287. struct propTagArray* pPropTagArray;
  288. };
  289. struct notificationTable{
  290. unsigned int ulTableEvent;
  291. unsigned int ulObjType;
  292. unsigned int hResult;
  293. struct propVal propIndex;
  294. struct propVal propPrior;
  295. struct propValArray* pRow;
  296. };
  297. struct notificationNewMail {
  298. entryId* pEntryId;
  299. entryId* pParentId;
  300. char* lpszMessageClass;
  301. unsigned int ulMessageFlags;
  302. };
  303. struct notificationICS {
  304. struct xsd__base64Binary *pSyncState;
  305. unsigned int ulChangeType;
  306. notificationICS();
  307. };
  308. struct notification {
  309. unsigned int ulConnection;
  310. unsigned int ulEventType;
  311. struct notificationObject *obj;
  312. struct notificationTable *tab;
  313. struct notificationNewMail *newmail;
  314. struct notificationICS *ics;
  315. notification();
  316. };
  317. struct notificationArray {
  318. int __size;
  319. struct notification *__ptr;
  320. };
  321. struct ns:notifyResponse {
  322. struct notificationArray *pNotificationArray;
  323. unsigned int er;
  324. };
  325. struct notifySyncState {
  326. unsigned int ulSyncId;
  327. unsigned int ulChangeId;
  328. notifySyncState();
  329. notifySyncState(unsigned int, unsigned int = 0);
  330. };
  331. struct notifySubscribe {
  332. unsigned int ulConnection;
  333. struct xsd__base64Binary sKey;
  334. unsigned int ulEventMask;
  335. struct notifySyncState sSyncState;
  336. notifySubscribe();
  337. };
  338. struct notifySubscribeArray {
  339. int __size;
  340. struct notifySubscribe *__ptr;
  341. notifySubscribeArray();
  342. };
  343. #define TABLE_NOADVANCE 1
  344. struct rights {
  345. unsigned int ulUserid;
  346. unsigned int ulType;
  347. unsigned int ulRights;
  348. unsigned int ulState;
  349. entryId sUserId;
  350. rights();
  351. rights(unsigned int, unsigned int = 0, unsigned int = 0, unsigned int = 0);
  352. };
  353. struct rightsArray {
  354. int __size;
  355. struct rights *__ptr;
  356. };
  357. struct ns:rightsResponse {
  358. struct rightsArray *pRightsArray;
  359. unsigned int er;
  360. };
  361. struct userobject {
  362. char* lpszName;
  363. unsigned int ulId;
  364. entryId sId;
  365. unsigned int ulType;
  366. };
  367. struct userobjectArray {
  368. int __size;
  369. struct userobject *__ptr;
  370. };
  371. struct ns:userobjectResponse {
  372. struct userobjectArray *pUserObjectArray;
  373. unsigned int er;
  374. };
  375. struct ns:getOwnerResponse {
  376. unsigned int ulOwner;
  377. entryId sOwner;
  378. unsigned int er;
  379. };
  380. struct statObjectResponse {
  381. unsigned int ulSize;
  382. unsigned int ftCreated;
  383. unsigned int ftModified;
  384. unsigned int er;
  385. };
  386. struct namedProp {
  387. unsigned int *lpId;
  388. char *lpString;
  389. struct xsd__base64Binary *lpguid;
  390. };
  391. struct namedPropArray {
  392. int __size;
  393. struct namedProp * __ptr;
  394. };
  395. struct ns:getIDsFromNamesResponse {
  396. struct propTagArray lpsPropTags;
  397. unsigned int er;
  398. };
  399. struct ns:getNamesFromIDsResponse {
  400. struct namedPropArray lpsNames;
  401. unsigned int er;
  402. };
  403. struct restrictTable;
  404. struct restrictAnd {
  405. int __size;
  406. struct restrictTable **__ptr;
  407. };
  408. struct restrictBitmask {
  409. unsigned int ulMask;
  410. unsigned int ulPropTag;
  411. unsigned int ulType;
  412. };
  413. struct restrictCompare {
  414. unsigned int ulPropTag1;
  415. unsigned int ulPropTag2;
  416. unsigned int ulType;
  417. };
  418. struct restrictContent {
  419. unsigned int ulFuzzyLevel;
  420. unsigned int ulPropTag;
  421. struct propVal *lpProp;
  422. };
  423. struct restrictExist {
  424. unsigned int ulPropTag;
  425. };
  426. struct restrictComment {
  427. struct restrictTable *lpResTable;
  428. struct propValArray sProps;
  429. };
  430. struct restrictNot {
  431. struct restrictTable *lpNot;
  432. };
  433. struct restrictOr {
  434. int __size;
  435. struct restrictTable **__ptr;
  436. };
  437. struct restrictProp {
  438. unsigned int ulType;
  439. unsigned int ulPropTag;
  440. struct propVal *lpProp;
  441. };
  442. struct restrictSize {
  443. unsigned int ulType;
  444. unsigned int ulPropTag;
  445. unsigned int cb;
  446. };
  447. struct restrictSub {
  448. unsigned int ulSubObject;
  449. struct restrictTable *lpSubObject;
  450. };
  451. struct restrictTable {
  452. unsigned int ulType;
  453. struct restrictAnd *lpAnd;
  454. struct restrictBitmask *lpBitmask;
  455. struct restrictCompare *lpCompare;
  456. struct restrictContent *lpContent;
  457. struct restrictExist *lpExist;
  458. struct restrictNot *lpNot;
  459. struct restrictOr *lpOr;
  460. struct restrictProp *lpProp;
  461. struct restrictSize *lpSize;
  462. struct restrictComment *lpComment;
  463. struct restrictSub *lpSub;
  464. };
  465. struct ns:tableGetSearchCriteriaResponse {
  466. struct restrictTable *lpRestrict;
  467. struct entryList *lpFolderIDs;
  468. unsigned int ulFlags;
  469. unsigned int er;
  470. };
  471. struct receiveFolder {
  472. entryId sEntryId;
  473. char* lpszAExplicitClass;
  474. };
  475. struct ns:receiveFolderResponse {
  476. struct receiveFolder sReceiveFolder;
  477. unsigned int er;
  478. };
  479. struct receiveFoldersArray {
  480. int __size;
  481. struct receiveFolder * __ptr;
  482. };
  483. struct ns:receiveFolderTableResponse {
  484. struct receiveFoldersArray sFolderArray;
  485. unsigned int er;
  486. };
  487. struct searchCriteria {
  488. struct restrictTable *lpRestrict;
  489. struct entryList *lpFolders;
  490. unsigned int ulFlags;
  491. };
  492. struct propmapPair {
  493. unsigned int ulPropId;
  494. char *lpszValue;
  495. };
  496. struct propmapPairArray {
  497. int __size;
  498. struct propmapPair *__ptr;
  499. };
  500. struct propmapMVPair {
  501. unsigned int ulPropId;
  502. struct mv_string8 sValues;
  503. };
  504. struct propmapMVPairArray {
  505. int __size;
  506. struct propmapMVPair *__ptr;
  507. };
  508. struct user {
  509. unsigned int ulUserId;
  510. char *lpszUsername;
  511. char *lpszPassword;
  512. char *lpszMailAddress;
  513. char *lpszFullName;
  514. char *lpszServername;
  515. unsigned int ulIsNonActive;
  516. unsigned int ulIsAdmin;
  517. unsigned int ulIsABHidden;
  518. unsigned int ulCapacity;
  519. unsigned int ulObjClass;
  520. struct propmapPairArray *lpsPropmap;
  521. struct propmapMVPairArray *lpsMVPropmap;
  522. entryId sUserId;
  523. user();
  524. };
  525. struct userArray {
  526. int __size;
  527. struct user *__ptr;
  528. };
  529. struct ns:userListResponse {
  530. struct userArray sUserArray;
  531. unsigned int er;
  532. };
  533. struct ns:getUserResponse {
  534. struct user *lpsUser;
  535. unsigned int er;
  536. };
  537. struct ns:setUserResponse {
  538. unsigned int ulUserId;
  539. entryId sUserId;
  540. unsigned int er;
  541. };
  542. struct group {
  543. unsigned int ulGroupId;
  544. entryId sGroupId;
  545. char *lpszGroupname;
  546. char *lpszFullname;
  547. char *lpszFullEmail;
  548. unsigned int ulIsABHidden;
  549. struct propmapPairArray *lpsPropmap;
  550. struct propmapMVPairArray *lpsMVPropmap;
  551. group();
  552. };
  553. struct groupArray {
  554. int __size;
  555. struct group *__ptr;
  556. };
  557. struct ns:groupListResponse {
  558. struct groupArray sGroupArray;
  559. unsigned int er;
  560. };
  561. struct ns:getGroupResponse {
  562. struct group *lpsGroup;
  563. unsigned int er;
  564. };
  565. struct ns:setGroupResponse {
  566. unsigned int ulGroupId;
  567. entryId sGroupId;
  568. unsigned int er;
  569. };
  570. struct company {
  571. unsigned int ulCompanyId;
  572. unsigned int ulAdministrator;
  573. entryId sCompanyId;
  574. entryId sAdministrator;
  575. char *lpszCompanyname;
  576. char *lpszServername;
  577. unsigned int ulIsABHidden;
  578. struct propmapPairArray *lpsPropmap;
  579. struct propmapMVPairArray *lpsMVPropmap;
  580. company();
  581. };
  582. struct companyArray {
  583. int __size;
  584. struct company *__ptr;
  585. };
  586. struct ns:companyListResponse {
  587. struct companyArray sCompanyArray;
  588. unsigned int er;
  589. };
  590. struct ns:getCompanyResponse {
  591. struct company *lpsCompany;
  592. unsigned int er;
  593. };
  594. struct ns:setCompanyResponse {
  595. unsigned int ulCompanyId;
  596. entryId sCompanyId;
  597. unsigned int er;
  598. };
  599. struct ns:resolveUserStoreResponse {
  600. unsigned int ulUserId;
  601. entryId sUserId;
  602. entryId sStoreId;
  603. struct xsd__base64Binary guid;
  604. unsigned int er;
  605. char *lpszServerPath;
  606. };
  607. struct querySubMessageResponse {
  608. entryId sEntryId;
  609. unsigned int er;
  610. };
  611. struct userProfileResponse {
  612. char *szProfileName;
  613. char *szProfileAddress;
  614. unsigned int er;
  615. };
  616. struct ns:resolveCompanyResponse {
  617. unsigned int ulCompanyId;
  618. entryId sCompanyId;
  619. unsigned int er;
  620. };
  621. struct ns:resolveGroupResponse {
  622. unsigned int ulGroupId;
  623. entryId sGroupId;
  624. unsigned int er;
  625. };
  626. struct ns:resolveUserResponse {
  627. unsigned int ulUserId;
  628. entryId sUserId;
  629. unsigned int er;
  630. };
  631. struct readChunkResponse {
  632. struct xsd__base64Binary data;
  633. unsigned int er;
  634. };
  635. struct flagArray {
  636. int __size;
  637. unsigned int *__ptr;
  638. };
  639. struct ns:abResolveNamesResponse {
  640. struct rowSet sRowSet;
  641. struct flagArray aFlags;
  642. unsigned int er;
  643. };
  644. struct action {
  645. unsigned int acttype;
  646. unsigned int flavor;
  647. unsigned int flags;
  648. int __union;
  649. union _act {
  650. struct _moveCopy {
  651. struct xsd__base64Binary store;
  652. struct xsd__base64Binary folder;
  653. } moveCopy;
  654. struct _reply {
  655. struct xsd__base64Binary message;
  656. struct xsd__base64Binary guid;
  657. } reply;
  658. struct _defer {
  659. struct xsd__base64Binary bin;
  660. } defer;
  661. unsigned int bouncecode;
  662. struct rowSet *adrlist;
  663. struct propVal *prop;
  664. } act;
  665. };
  666. struct actions {
  667. struct action *__ptr;
  668. int __size;
  669. };
  670. struct quota {
  671. bool bUseDefaultQuota;
  672. bool bIsUserDefaultQuota;
  673. LONG64 llWarnSize;
  674. LONG64 llSoftSize;
  675. LONG64 llHardSize;
  676. };
  677. struct ns:quotaResponse {
  678. struct quota sQuota;
  679. unsigned int er;
  680. };
  681. struct ns:quotaStatus {
  682. LONG64 llStoreSize;
  683. unsigned int ulQuotaStatus;
  684. unsigned int er;
  685. };
  686. struct ns:messageStatus {
  687. unsigned int ulMessageStatus;
  688. unsigned int er;
  689. };
  690. struct icsChange {
  691. unsigned int ulChangeId;
  692. struct xsd__base64Binary sSourceKey;
  693. struct xsd__base64Binary sParentSourceKey;
  694. unsigned int ulChangeType;
  695. unsigned int ulFlags;
  696. };
  697. struct icsChangesArray {
  698. int __size;
  699. struct icsChange *__ptr;
  700. };
  701. struct ns:icsChangeResponse {
  702. struct icsChangesArray sChangesArray;
  703. unsigned int ulMaxChangeId;
  704. unsigned int er;
  705. };
  706. struct ns:setSyncStatusResponse {
  707. unsigned int ulSyncId;
  708. unsigned int er;
  709. };
  710. struct ns:getEntryIDFromSourceKeyResponse {
  711. entryId sEntryId;
  712. unsigned int er;
  713. };
  714. struct ns:getLicenseAuthResponse {
  715. struct xsd__base64Binary sAuthResponse;
  716. unsigned int er;
  717. };
  718. struct ns:resolvePseudoUrlResponse {
  719. char *lpszServerPath;
  720. bool bIsPeer;
  721. unsigned int er;
  722. //resolvePseudoUrlResponse();
  723. };
  724. struct licenseCapabilities {
  725. int __size;
  726. char **__ptr;
  727. };
  728. struct ns:getLicenseCapaResponse {
  729. struct licenseCapabilities sCapabilities;
  730. unsigned int er;
  731. };
  732. struct ns:getLicenseUsersResponse {
  733. unsigned int ulUsers;
  734. unsigned int er;
  735. };
  736. struct server {
  737. char *lpszName;
  738. char *lpszFilePath;
  739. char *lpszHttpPath;
  740. char *lpszSslPath;
  741. char *lpszPreferedPath;
  742. unsigned int ulFlags;
  743. };
  744. struct serverList {
  745. int __size;
  746. struct server *__ptr;
  747. };
  748. struct ns:getServerDetailsResponse {
  749. struct serverList sServerList;
  750. unsigned int er;
  751. //getServerDetailsResponse();
  752. };
  753. struct ns:getServerBehaviorResponse {
  754. unsigned int ulBehavior;
  755. unsigned int er;
  756. };
  757. struct sourceKeyPair {
  758. struct xsd__base64Binary sParentKey;
  759. struct xsd__base64Binary sObjectKey;
  760. };
  761. struct sourceKeyPairArray {
  762. int __size;
  763. struct sourceKeyPair *__ptr;
  764. };
  765. struct messageStream {
  766. unsigned int ulStep;
  767. struct propValArray sPropVals;
  768. struct xsd__Binary sStreamData;
  769. };
  770. struct messageStreamArray {
  771. int __size;
  772. struct messageStream *__ptr;
  773. };
  774. struct ns:exportMessageChangesAsStreamResponse {
  775. struct messageStreamArray sMsgStreams;
  776. unsigned int er;
  777. //exportMessageChangesAsStreamResponse();
  778. };
  779. struct ns:getChangeInfoResponse {
  780. struct propVal sPropPCL;
  781. struct propVal sPropCK;
  782. unsigned int er;
  783. //getChangeInfoResponse();
  784. };
  785. struct syncState {
  786. unsigned int ulSyncId;
  787. unsigned int ulChangeId;
  788. };
  789. struct syncStateArray {
  790. int __size;
  791. struct syncState *__ptr;
  792. };
  793. struct ns:getSyncStatesReponse {
  794. struct syncStateArray sSyncStates;
  795. unsigned int er;
  796. //getSyncstatesReponse */
  797. };
  798. struct ns:purgeDeferredUpdatesResponse {
  799. unsigned int ulDeferredRemaining;
  800. unsigned int er;
  801. };
  802. struct ns:userClientUpdateStatusResponse {
  803. unsigned int ulTrackId;
  804. time_t tUpdatetime;
  805. char *lpszCurrentversion;
  806. char *lpszLatestversion;
  807. char *lpszComputername;
  808. unsigned int ulStatus;
  809. unsigned int er;
  810. };
  811. struct ns:resetFolderCountResponse {
  812. unsigned int ulUpdates;
  813. unsigned int er;
  814. //resetFolderCountResponse();
  815. };
  816. //TableType flags for function ns__tableOpen
  817. #define TABLETYPE_MS 1 // MessageStore tables
  818. #define TABLETYPE_AB 2 // Addressbook tables
  819. #define TABLETYPE_SPOOLER 3 // Spooler tables
  820. #define TABLETYPE_MULTISTORE 4 // Multistore tables
  821. #define TABLETYPE_STATS_SYSTEM 5 // System stats
  822. #define TABLETYPE_STATS_SESSIONS 6 // Session stats
  823. #define TABLETYPE_STATS_USERS 7 // User stats
  824. #define TABLETYPE_STATS_COMPANY 8 // Company stats (hosted only)
  825. #define TABLETYPE_USERSTORES 9 // UserStore tables
  826. #define TABLETYPE_MAILBOX 10 // Mailbox Table
  827. #define TABLETYPE_STATS_SERVERS 11 // Servers table
  828. // Flags for struct tableMultiRequest
  829. #define TABLE_MULTI_CLEAR_RESTRICTION 0x1 // Clear table restriction
  830. #define fnevKopanoIcsChange (fnevExtended | 0x00000001)
  831. int ns__logon(char * szUsername, char * szPassword, char * szImpersonateUser, char * szVersion, unsigned int ulCapabilities, unsigned int ulFlags, struct xsd__base64Binary sLicenseReq, ULONG64 ullSessionGroup, char *szClientApp, char *szClientAppVersion, char *szClientAppMisc, struct ns:logonResponse *lpsLogonResponse);
  832. int ns__ssoLogon(ULONG64 ulSessionId, char *szUsername, char * szImpersonateUser, struct xsd__base64Binary *lpInput, char *clientVersion, unsigned int clientCaps, struct xsd__base64Binary sLicenseReq, ULONG64 ullSessionGroup, char *szClientApp, char *szClientAppVersion, char *szClientAppMisc, struct ns:ssoLogonResponse *lpsResponse);
  833. int ns__getStore(ULONG64 ulSessionId, entryId* lpsEntryId, struct ns:getStoreResponse *lpsResponse);
  834. int ns__getStoreName(ULONG64 ulSessionId, entryId sEntryId, struct ns:getStoreNameResponse* lpsResponse);
  835. int ns__getStoreType(ULONG64 ulSessionId, entryId sEntryId, struct ns:getStoreTypeResponse* lpsResponse);
  836. int ns__getPublicStore(ULONG64 ulSessionId, unsigned int ulFlags, struct ns:getStoreResponse *lpsResponse);
  837. int ns__logoff(ULONG64 ulSessionId, unsigned int *result);
  838. int ns__getRights(ULONG64 ulSessionId, entryId sEntryId, int ulType, struct ns:rightsResponse *lpsRightResponse);
  839. int ns__setRights(ULONG64 ulSessionId, entryId sEntryId, struct rightsArray *lpsrightsArray, unsigned int *result);
  840. int ns__getUserObjectList(ULONG64 ulSessionId, unsigned int ulCompanyId, entryId sCompanyId, int ulType, struct ns:userobjectResponse *lpsUserObjectResponse);
  841. /* loads a big prop from an object */
  842. int ns__loadProp(ULONG64 ulSessionId, entryId sEntryId, unsigned int ulObjId, unsigned int ulPropTag, struct ns:loadPropResponse *lpsResponse);
  843. int ns__saveObject(ULONG64 ulSessionId, entryId sParentEntryId, entryId sEntryId, struct saveObject *lpsSaveObj, unsigned int ulFlags, unsigned int ulSyncId, struct ns:loadObjectResponse *lpsLoadObjectResponse);
  844. int ns__loadObject(ULONG64 ulSessionId, entryId sEntryId, struct notifySubscribe *lpsNotSubscribe, unsigned int ulFlags, struct ns:loadObjectResponse *lpsLoadObjectResponse);
  845. int ns__createFolder(ULONG64 ulSessionId, entryId sParentId, entryId* lpsNewEntryId, unsigned int ulType, char *szName, char *szComment, bool fOpenIfExists, unsigned int ulSyncId, struct xsd__base64Binary sOrigSourceKey, struct ns:createFolderResponse *lpsCreateFolderResponse);
  846. int ns__deleteObjects(ULONG64 ulSessionId, unsigned int ulFlags, struct entryList *aMessages, unsigned int ulSyncId, unsigned int *result);
  847. int ns__copyObjects(ULONG64 ulSessionId, struct entryList *aMessages, entryId sDestFolderId, unsigned int ulFlags, unsigned int ulSyncId, unsigned int *result);
  848. int ns__emptyFolder(ULONG64 ulSessionId, entryId sEntryId, unsigned int ulFlags, unsigned int ulSyncId, unsigned int *result);
  849. int ns__deleteFolder(ULONG64 ulSessionId, entryId sEntryId, unsigned int ulFlags, unsigned int ulSyncId, unsigned int *result);
  850. int ns__copyFolder(ULONG64 ulSessionId, entryId sEntryId, entryId sDestFolderId, char *lpszNewFolderName, unsigned int ulFlags, unsigned int ulSyncId, unsigned int *result);
  851. int ns__setReadFlags(ULONG64 ulSessionId, unsigned int ulFlags, entryId* lpsEntryId, struct entryList *lpMessages, unsigned int ulSyncId, unsigned int *result);
  852. int ns__setReceiveFolder(ULONG64 ulSessionId, entryId sStoreId, entryId* lpsEntryId, char* lpszMessageClass, unsigned int *result);
  853. int ns__getReceiveFolder(ULONG64 ulSessionId, entryId sStoreId, char* lpszMessageClass, struct ns:receiveFolderResponse *lpsReceiveFolder);
  854. int ns__getReceiveFolderTable(ULONG64 ulSessionId, entryId sStoreId, struct ns:receiveFolderTableResponse *lpsReceiveFolderTable);
  855. int ns__getMessageStatus(ULONG64 ulSessionId, entryId sEntryId, unsigned int ulFlags, struct ns:messageStatus* lpsStatus);
  856. int ns__setMessageStatus(ULONG64 ulSessionId, entryId sEntryId, unsigned int ulNewStatus, unsigned int ulNewStatusMask, unsigned int ulSyncId, struct ns:messageStatus* lpsOldStatus);
  857. int ns__getIDsFromNames(ULONG64 ulSessionId, struct namedPropArray *lpsNamedProps, unsigned int ulFlags, struct ns:getIDsFromNamesResponse *lpsResponse);
  858. int ns__getNamesFromIDs(ULONG64 ulSessionId, struct propTagArray *lpsPropTags, struct ns:getNamesFromIDsResponse *lpsResponse);
  859. int ns__notify(ULONG64 ulSessionId, struct notification sNotification, unsigned int *er);
  860. int ns__notifySubscribe(ULONG64 ulSessionId, struct notifySubscribe *notifySubscribe, unsigned int *result);
  861. int ns__notifySubscribeMulti(ULONG64 ulSessionId, struct notifySubscribeArray *notifySubscribeArray, unsigned int *result);
  862. int ns__notifyUnSubscribe(ULONG64 ulSessionId, unsigned int ulConnection, unsigned int *result);
  863. int ns__notifyUnSubscribeMulti(ULONG64 ulSessionId, struct mv_long *ulConnectionArray, unsigned int *result);
  864. int ns__notifyGetItems(ULONG64 ulSessionId, struct ns:notifyResponse *notifications);
  865. int ns__tableOpen(ULONG64 ulSessionId, entryId sEntryId, unsigned int ulTableType, unsigned int ulType, unsigned int ulFlags, struct ns:tableOpenResponse *lpsTableOpenResponse);
  866. int ns__tableClose(ULONG64 ulSessionId, unsigned int ulTableId, unsigned int *result);
  867. int ns__tableSetColumns(ULONG64 ulSessionId, unsigned int ulTableId, struct propTagArray *aPropTag, unsigned int *result);
  868. int ns__tableQueryColumns(ULONG64 ulSessionId, unsigned int ulTableId, unsigned int ulFlags, struct ns:tableQueryColumnsResponse *lpsTableQueryColumnsResponse);
  869. int ns__tableSort(ULONG64 ulSessionId, unsigned int ulTableId, struct sortOrderArray *aSortOrder, unsigned int ulCategories, unsigned int ulExpanded, unsigned int *result);
  870. int ns__tableRestrict(ULONG64 ulSessionId, unsigned int ulTableId, struct restrictTable *lpRestrict, unsigned int *result);
  871. int ns__tableGetRowCount(ULONG64 ulSessionId, unsigned int ulTableId, struct ns:tableGetRowCountResponse *lpsTableGetRowCountResponse);
  872. int ns__tableQueryRows(ULONG64 ulSessionId, unsigned int ulTableId, unsigned int ulRowCount, unsigned int ulFlags, struct ns:tableQueryRowsResponse *lpsQueryRowsResponse);
  873. int ns__tableFindRow(ULONG64 ulSessionId, unsigned int ulTableId, unsigned int ulBookmark, unsigned int ulFlags, struct restrictTable *lpsRestrict, unsigned int *result);
  874. int ns__tableSeekRow(ULONG64 ulSessionId, unsigned int ulTableId, unsigned int ulBookmark, int lRowCount, struct ns:tableSeekRowResponse *lpsResponse);
  875. int ns__tableCreateBookmark(ULONG64 ulSessionId, unsigned int ulTableId, struct ns:tableBookmarkResponse *lpsResponse);
  876. int ns__tableFreeBookmark(ULONG64 ulSessionId, unsigned int ulTableId, unsigned int ulbkPosition, unsigned int *result);
  877. int ns__tableSetSearchCriteria(ULONG64 ulSessionId, entryId sEntryId, struct restrictTable *lpRestrict, struct entryList *lpFolders, unsigned int ulFlags, unsigned int *result);
  878. int ns__tableGetSearchCriteria(ULONG64 ulSessionId, entryId sEntryId, struct ns:tableGetSearchCriteriaResponse *lpsResponse);
  879. int ns__tableSetMultiStoreEntryIDs(ULONG64 ulSessionId, unsigned int ulTableId, struct entryList *aMessages, unsigned int *result);
  880. int ns__tableExpandRow(ULONG64 ulSessionId, unsigned int ulTableId, struct xsd__base64Binary sInstanceKey, unsigned int ulRowCount, unsigned int ulFlags, struct ns:tableExpandRowResponse *lpsTableExpandRowResponse);
  881. int ns__tableCollapseRow(ULONG64 ulSessionId, unsigned int ulTableId, struct xsd__base64Binary sInstanceKey, unsigned int ulFlags, struct ns:tableCollapseRowResponse *lpsTableCollapseRowResponse);
  882. int ns__tableGetCollapseState(ULONG64 ulSessionId, unsigned int ulTableId, struct xsd__base64Binary sBookmark, struct ns:tableGetCollapseStateResponse *lpsResponse);
  883. int ns__tableSetCollapseState(ULONG64 ulSessionId, unsigned int ulTableId, struct xsd__base64Binary sCollapseState, struct ns:tableSetCollapseStateResponse *lpsResponse);
  884. int ns__tableMulti(ULONG64 ulSessionId, struct tableMultiRequest sRequest, struct ns:tableMultiResponse *lpsResponse);
  885. int ns__submitMessage(ULONG64 ulSessionId, entryId sEntryId, unsigned int ulFlags, unsigned int *result);
  886. int ns__finishedMessage(ULONG64 ulSessionId, entryId sEntryId, unsigned int ulFlags, unsigned int *result);
  887. int ns__abortSubmit(ULONG64 ulSessionId, entryId sEntryId, unsigned int *result);
  888. int ns__isMessageInQueue(ULONG64 ulSessionId, entryId sEntryId, unsigned int *result);
  889. // Get user ID / store for username (username == NULL for current user)
  890. int ns__resolveStore(ULONG64 ulSessionId, struct xsd__base64Binary sStoreGuid, struct ns:resolveUserStoreResponse *lpsResponse);
  891. int ns__resolveUserStore(ULONG64 ulSessionId, char *szUserName, unsigned int ulStoreTypeMask, unsigned int ulFlags, struct ns:resolveUserStoreResponse *lpsResponse);
  892. // Actual user creation/deletion in the external user source
  893. int ns__createUser(ULONG64 ulSessionId, struct user *lpsUser, struct ns:setUserResponse *lpsUserSetResponse);
  894. int ns__deleteUser(ULONG64 ulSessionId, unsigned int ulUserId, entryId sUserId, unsigned int *result);
  895. int ns__removeAllObjects(ULONG64 ulSessionId, entryId sExceptUserId, unsigned int *result);
  896. // Get user fullname/name/emailaddress/etc for specific user id (userid = 0 for current user)
  897. int ns__getUser(ULONG64 ulSessionId, unsigned int ulUserId, entryId sUserId, struct ns:getUserResponse *lpsUserGetResponse);
  898. int ns__setUser(ULONG64 ulSessionId, struct user *lpsUser, unsigned int *result);
  899. int ns__getUserList(ULONG64 ulSessionId, unsigned int ulCompanyId, entryId sCompanyId, struct ns:userListResponse *lpsUserList);
  900. int ns__getSendAsList(ULONG64 ulSessionId, unsigned int ulUserId, entryId sUserId, struct ns:userListResponse *lpsUserList);
  901. int ns__addSendAsUser(ULONG64 ulSessionId, unsigned int ulUserId, entryId sUserId, unsigned int ulSenderId, entryId sSenderId, unsigned int *result);
  902. int ns__delSendAsUser(ULONG64 ulSessionId, unsigned int ulUserId, entryId sUserId, unsigned int ulSenderId, entryId sSenderId, unsigned int *result);
  903. int ns__getUserClientUpdateStatus(ULONG64 ulSessionId, entryId sUserId, struct ns:userClientUpdateStatusResponse *lpsResponse);
  904. // Start softdelete purge
  905. int ns__purgeSoftDelete(ULONG64 ulSessionId, unsigned int ulDays, unsigned int *result);
  906. // Do deferred purge
  907. int ns__purgeDeferredUpdates(ULONG64 ulSessionId, struct ns:purgeDeferredUpdatesResponse *lpsResponse);
  908. // Clear the cache
  909. int ns__purgeCache(ULONG64 ulSessionId, unsigned int ulFlags, unsigned int *result);
  910. // Create store for a user
  911. int ns__createStore(ULONG64 ulSessionId, unsigned int ulStoreType, unsigned int ulUserId, entryId sUserId, entryId sStoreId, entryId sRootId, unsigned int ulFlags, unsigned int *result);
  912. // Disabled, returns error, use ns__removeStore
  913. int ns__deleteStore(ULONG64 ulSessionId, unsigned int ulStoreId, unsigned int ulSyncId, unsigned int *result);
  914. // Mark store deleted for softdelete to purge from database
  915. int ns__removeStore(ULONG64 ulSessionId, struct xsd__base64Binary sStoreGuid, unsigned int ulSyncId, unsigned int *result);
  916. // Hook a store to a specified user (overrides previous hooked store)
  917. int ns__hookStore(ULONG64 ulSessionId, unsigned int ulStoreType, entryId sUserId, struct xsd__base64Binary sStoreGuid, unsigned int ulSyncId, unsigned int *result);
  918. // Unhook a store from a specific user
  919. int ns__unhookStore(ULONG64 ulSessionId, unsigned int ulStoreType, entryId sUserId, unsigned int ulSyncId, unsigned int *result);
  920. int ns__getOwner(ULONG64 ulSessionId, entryId sEntryId, struct ns:getOwnerResponse *lpsResponse);
  921. int ns__resolveUsername(ULONG64 ulSessionId, char *lpszUsername, struct ns:resolveUserResponse *lpsResponse);
  922. int ns__createGroup(ULONG64 ulSessionId, struct group *lpsGroup, struct ns:setGroupResponse *lpsSetGroupResponse);
  923. int ns__setGroup(ULONG64 ulSessionId, struct group *lpsGroup, unsigned int *result);
  924. int ns__getGroup(ULONG64 ulSessionId, unsigned int ulGroupId, entryId sGroupId, struct ns:getGroupResponse *lpsReponse);
  925. int ns__getGroupList(ULONG64 ulSessionId, unsigned int ulCompanyId, entryId sCompanyId, struct ns:groupListResponse *lpsGroupList);
  926. int ns__groupDelete(ULONG64 ulSessionId, unsigned int ulGroupId, entryId sGroupId, unsigned int *result);
  927. int ns__resolveGroupname(ULONG64 ulSessionId, char *lpszGroupname, struct ns:resolveGroupResponse *lpsResponse);
  928. int ns__deleteGroupUser(ULONG64 ulSessionId, unsigned int ulGroupId, entryId sGroupId, unsigned int ulUserId, entryId sUserId, unsigned int *result);
  929. int ns__addGroupUser(ULONG64 ulSessionId, unsigned int ulGroupId, entryId sGroupId, unsigned int ulUserId, entryId sUserId, unsigned int *result);
  930. int ns__getUserListOfGroup(ULONG64 ulSessionId, unsigned int ulGroupId, entryId sGroupId, struct ns:userListResponse *lpsUserList);
  931. int ns__getGroupListOfUser(ULONG64 ulSessionId, unsigned int ulUserId, entryId sUserId, struct ns:groupListResponse *lpsGroupList);
  932. int ns__createCompany(ULONG64 ulSessionId, struct company *lpsCompany, struct ns:setCompanyResponse *lpsResponse);
  933. int ns__deleteCompany(ULONG64 ulSessionId, unsigned int ulCompanyId, entryId sCompanyId, unsigned int *result);
  934. int ns__setCompany(ULONG64 ulSessionId, struct company *lpsCompany, unsigned int *result);
  935. int ns__getCompany(ULONG64 ulSessionId, unsigned int ulCompanyId, entryId sCompanyId, struct ns:getCompanyResponse *lpsResponse);
  936. int ns__resolveCompanyname(ULONG64 ulSessionId, char *lpszCompanyname, struct ns:resolveCompanyResponse *lpsResponse);
  937. int ns__getCompanyList(ULONG64 ulSessionId, struct ns:companyListResponse *lpsCompanyList);
  938. int ns__addCompanyToRemoteViewList(ULONG64 ecSessionId, unsigned int ulSetCompanyId, entryId sSetCompanyId, unsigned int ulCompanyId, entryId sCompanyId, unsigned int *result);
  939. int ns__delCompanyFromRemoteViewList(ULONG64 ecSessionId, unsigned int ulSetCompanyId, entryId sSetCompanyId, unsigned int ulCompanyId, entryId sCompanyId, unsigned int *result);
  940. int ns__getRemoteViewList(ULONG64 ecSessionId, unsigned int ulCompanyId, entryId sCompanyId, struct ns:companyListResponse *lpsCompanyList);
  941. int ns__addUserToRemoteAdminList(ULONG64 ecSessionId, unsigned int ulUserId, entryId sUserId, unsigned int ulCompanyId, entryId sCompanyId, unsigned int *result);
  942. int ns__delUserFromRemoteAdminList(ULONG64 ecSessionId, unsigned int ulUserId, entryId sUserId, unsigned int ulCompanyId, entryId sCompanyId, unsigned int *result);
  943. int ns__getRemoteAdminList(ULONG64 ecSessionId, unsigned int ulCompanyId, entryId sCompanyId, struct ns:userListResponse *lpsUserList);
  944. int ns__checkExistObject(ULONG64 ulSessionId, entryId sEntryId, unsigned int ulFlags, unsigned int *result);
  945. int ns__readABProps(ULONG64 ulSessionId, entryId sEntryId, struct ns:readPropsResponse *readPropsResponse);
  946. int ns__writeABProps(ULONG64 ulSessionId, entryId sEntryId, struct propValArray *aPropVal, unsigned int *result);
  947. int ns__deleteABProps(ULONG64 ulSessionId, entryId sEntryId, struct propTagArray *lpsPropTags, unsigned int *result);
  948. int ns__loadABProp(ULONG64 ulSessionId, entryId sEntryId, unsigned int ulPropTag, struct ns:loadPropResponse *lpsResponse);
  949. int ns__abResolveNames(ULONG64 ulSessionId, struct propTagArray* lpaPropTag, struct rowSet* lpsRowSet, struct flagArray* lpaFlags, unsigned int ulFlags, struct ns:abResolveNamesResponse* lpsABResolveNames);
  950. int ns__syncUsers(ULONG64 ulSessionId, unsigned int ulCompanyId, entryId sCompanyId, unsigned int *result);
  951. int ns__setLockState(ULONG64 ulSessionId, entryId sEntryId, bool bLocked, unsigned int *result);
  952. int ns__resetFolderCount(ULONG64 ulSessionId, entryId sEntryId, struct ns:resetFolderCountResponse *lpsResponse);
  953. // Quota
  954. int ns__GetQuota(ULONG64 ulSessionId, unsigned int ulUserid, entryId sUserId, bool bGetUserDefault, struct ns:quotaResponse* lpsQuota);
  955. int ns__SetQuota(ULONG64 ulSessionId, unsigned int ulUserid, entryId sUserId, struct quota* lpsQuota, unsigned int *result);
  956. int ns__AddQuotaRecipient(ULONG64 ulSessionId, unsigned int ulCompanyid, entryId sCompanyId, unsigned int ulRecipientId, entryId sRecipientId, unsigned int ulType, unsigned int *result);
  957. int ns__DeleteQuotaRecipient(ULONG64 ulSessionId, unsigned int ulCompanyid, entryId sCompanyId, unsigned int ulRecipientId, entryId sRecipientId, unsigned int ulType, unsigned int *result);
  958. int ns__GetQuotaRecipients(ULONG64 ulSessionId, unsigned int ulUserid, entryId sUserId, struct ns:userListResponse *lpsResponse);
  959. int ns__GetQuotaStatus(ULONG64 ulSessionId, unsigned int ulUserid, entryId sUserId, struct ns:quotaStatus* lpsQuotaStatus);
  960. // Incremental Change Synchronization
  961. int ns__getChanges(ULONG64 ulSessionId, struct xsd__base64Binary sSourceKeyFolder, unsigned int ulSyncId, unsigned int ulChangeId, unsigned int ulChangeType, unsigned int ulFlags, struct restrictTable *lpsRestrict, struct ns:icsChangeResponse* lpsChanges);
  962. int ns__setSyncStatus(ULONG64 ulSessionId, struct xsd__base64Binary sSourceKeyFolder, unsigned int ulSyncId, unsigned int ulChangeId, unsigned int ulChangeType, unsigned int ulFlags, struct ns:setSyncStatusResponse *lpsResponse);
  963. int ns__getEntryIDFromSourceKey(ULONG64 ulSessionId, entryId sStoreId, struct xsd__base64Binary folderSourceKey, struct xsd__base64Binary messageSourceKey, struct ns:getEntryIDFromSourceKeyResponse *lpsResponse);
  964. int ns__getSyncStates(ULONG64 ulSessionId, struct mv_long ulaSyncId, struct ns:getSyncStatesReponse *lpsResponse);
  965. // Licensing
  966. int ns__getLicenseAuth(ULONG64 ulSessionId, struct xsd__base64Binary sAuthData, struct ns:getLicenseAuthResponse *lpsResponse);
  967. int ns__getLicenseCapa(ULONG64 ulSessionId, unsigned int ulServiceType, struct ns:getLicenseCapaResponse *lpsResponse);
  968. int ns__getLicenseUsers(ULONG64 ulSessionId, unsigned int ulServiceType, struct ns:getLicenseUsersResponse *lpsResponse);
  969. // Multi Server
  970. int ns__resolvePseudoUrl(ULONG64 ulSessionId, char *lpszPseudoUrl, struct ns:resolvePseudoUrlResponse* lpsResponse);
  971. int ns__getServerDetails(ULONG64 ulSessionId, struct mv_string8 szaSvrNameList, unsigned int ulFlags, struct ns:getServerDetailsResponse* lpsResponse);
  972. // Server Behavior, legacy calls for 6.30 clients, unused and may be removed in the future
  973. int ns__getServerBehavior(ULONG64 ulSessionId, struct ns:getServerBehaviorResponse* lpsResponse);
  974. int ns__setServerBehavior(ULONG64 ulSessionId, unsigned int ulBehavior, unsigned int *result);
  975. // Streaming
  976. int ns__exportMessageChangesAsStream(ULONG64 ulSessionId, unsigned int ulFlags, struct propTagArray sPropTags, struct sourceKeyPairArray, unsigned int ulPropTag, struct ns:exportMessageChangesAsStreamResponse *lpsResponse);
  977. int ns__importMessageFromStream(ULONG64 ulSessionId, unsigned int ulFlags, unsigned int ulSyncId, entryId sParentEntryId, entryId sEntryId, bool bIsNew, struct propVal *lpsConflictItems, struct xsd__Binary sStreamData, unsigned int *result);
  978. int ns__getChangeInfo(ULONG64 ulSessionId, entryId sEntryId, struct ns:getChangeInfoResponse *lpsResponse);
  979. // Debug
  980. struct testPerformArgs {
  981. int __size;
  982. char *__ptr[];
  983. };
  984. struct ns:testGetResponse {
  985. char *szValue;
  986. unsigned int er;
  987. };
  988. int ns__testPerform(ULONG64 ulSessionId, const char *cmd, struct testPerformArgs sPerform, unsigned int *result);
  989. int ns__testSet(ULONG64 ulSessionId, const char *name, const char *value, unsigned int *result);
  990. int ns__testGet(ULONG64 ulSessionId, const char *name, struct ns:testGetResponse *lpsResponse);
  991. struct attachment {
  992. char *lpszAttachmentName;
  993. struct xsd__Binary sData;
  994. };
  995. struct attachmentArray {
  996. int __size;
  997. struct attachment *__ptr;
  998. };
  999. struct ns:clientUpdateResponse {
  1000. unsigned int ulLogLevel;
  1001. char *lpszServerPath;
  1002. struct xsd__base64Binary sLicenseResponse;
  1003. struct xsd__Binary sStreamData;
  1004. unsigned int er;
  1005. };
  1006. struct clientUpdateInfoRequest {
  1007. unsigned int ulTrackId;
  1008. char *szUsername;
  1009. char *szClientIPList;
  1010. char *szClientVersion;
  1011. char *szWindowsVersion;
  1012. char *szComputerName;
  1013. struct xsd__base64Binary sLicenseReq;
  1014. };
  1015. struct clientUpdateStatusRequest {
  1016. unsigned int ulTrackId;
  1017. unsigned int ulLastErrorCode;
  1018. unsigned int ulLastErrorAction;
  1019. struct attachmentArray sFiles;
  1020. };
  1021. struct ns:clientUpdateStatusResponse {
  1022. unsigned int er;
  1023. };
  1024. int ns__getClientUpdate(struct clientUpdateInfoRequest sClientUpdateInfo, struct ns:clientUpdateResponse* lpsResponse);
  1025. int ns__setClientUpdateStatus(struct clientUpdateStatusRequest sClientUpdateStatus, struct ns:clientUpdateStatusResponse* lpsResponse);