Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

41 lines
1.9 KiB

  1. #include "fusenet.h"
  2. #include "manifestnode.h"
  3. #include "list.h"
  4. #define HASHTABLE_SIZE 257
  5. #define TOLOWER(a) (((a) >= L'A' && (a) <= L'Z') ? (L'a' + (a - L'A')) : (a))
  6. inline DWORD HashString(LPCWSTR wzKey, DWORD dwHashSize, BOOL bCaseSensitive)
  7. {
  8. DWORD dwHash = 0;
  9. DWORD dwLen;
  10. DWORD i;
  11. dwLen = lstrlenW(wzKey);
  12. for (i = 0; i < dwLen; i++)
  13. {
  14. if (bCaseSensitive)
  15. dwHash = (dwHash * 65599) + (DWORD)wzKey[i];
  16. else
  17. dwHash = (dwHash * 65599) + (DWORD)TOLOWER(wzKey[i]);
  18. }
  19. dwHash %= dwHashSize;
  20. return dwHash;
  21. }
  22. HRESULT CreateDirectoryHierarchy(LPWSTR pwzRootDir, LPWSTR pwzFilePath);
  23. HRESULT PathNormalize(LPWSTR pwzPath, LPWSTR *ppwzAbsolutePath, DWORD dwFlag);
  24. HRESULT IsUniqueManifest(List<IAssemblyIdentity *> *pSeenAssemblyList, IAssemblyManifestImport *pManifestImport);
  25. HRESULT DequeueItem(List<IAssemblyManifestImport *> *pList, IAssemblyManifestImport ** ppManifestImport);
  26. HRESULT ProbeForAssembly(IAssemblyIdentity *pName, ManifestNode **ppManifestNode);
  27. HRESULT FindAllAssemblies (LPWSTR pwzDir, List<IAssemblyManifestImport *> *pAssemblyList);
  28. HRESULT TraverseManifestDependencyTrees(IAssemblyManifestImport *pManifestImport, List<LPWSTR> *pFileList, BOOL bListMode);
  29. HRESULT CrossReferenceFiles(LPWSTR pwzDir, List<LPWSTR> *pAssemblyFileList, List<LPWSTR> *pRawFiles);
  30. HRESULT PrivatizeAssemblies(List<ManifestNode*> *pUniqueManifestList);
  31. HRESULT GetInitialDependencies(LPWSTR pwzTemplatePath, List<ManifestNode *> *pManifestList);
  32. HRESULT CreateSubscriptionManifest(LPWSTR pwzApplicationManifestPath, LPWSTR pwzSubscriptionManifestPath, LPWSTR pwzUrl, LPWSTR pwzPollingInterval);
  33. HRESULT PrintDependencies(List <LPWSTR> *pRawFileList, List<ManifestNode *> *pUniqueManifestList);
  34. HRESULT Usage();