master
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
7#ifdef _MINAPPMODEL_H_
8#define _MINAPPMODEL_H_
9
10#include <winapifamily.h>
11
12#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
13
14#define PACKAGE_ARCHITECTURE_MIN_LENGTH 3
15#define PACKAGE_ARCHITECTURE_MAX_LENGTH 7
16#define PACKAGE_VERSION_MIN_LENGTH 7
17#define PACKAGE_VERSION_MAX_LENGTH 23
18#define PACKAGE_NAME_MIN_LENGTH 3
19#define PACKAGE_NAME_MAX_LENGTH 50
20#define PACKAGE_PUBLISHER_MIN_LENGTH 3
21#define PACKAGE_PUBLISHER_MAX_LENGTH 8192
22#define PACKAGE_PUBLISHERID_MIN_LENGTH 13
23#define PACKAGE_PUBLISHERID_MAX_LENGTH 13
24#define PACKAGE_RESOURCEID_MIN_LENGTH 0
25#define PACKAGE_RESOURCEID_MAX_LENGTH 30
26#define PACKAGE_FULL_NAME_MIN_LENGTH (PACKAGE_NAME_MIN_LENGTH + 1 + PACKAGE_VERSION_MIN_LENGTH + 1 + PACKAGE_ARCHITECTURE_MIN_LENGTH + 1 + PACKAGE_RESOURCEID_MIN_LENGTH + 1 + PACKAGE_PUBLISHERID_MIN_LENGTH)
27#define PACKAGE_FULL_NAME_MAX_LENGTH (PACKAGE_NAME_MAX_LENGTH + 1 + PACKAGE_VERSION_MAX_LENGTH + 1 + PACKAGE_ARCHITECTURE_MAX_LENGTH + 1 + PACKAGE_RESOURCEID_MAX_LENGTH + 1 + PACKAGE_PUBLISHERID_MAX_LENGTH)
28#define PACKAGE_FAMILY_NAME_MIN_LENGTH (PACKAGE_NAME_MIN_LENGTH + 1 + PACKAGE_PUBLISHERID_MIN_LENGTH)
29#define PACKAGE_FAMILY_NAME_MAX_LENGTH (PACKAGE_NAME_MAX_LENGTH + 1 + PACKAGE_PUBLISHERID_MAX_LENGTH)
30
31#define PACKAGE_MIN_DEPENDENCIES 0
32#define PACKAGE_MAX_DEPENDENCIES 128
33#define PACKAGE_FAMILY_MIN_RESOURCE_PACKAGES 0
34#define PACKAGE_FAMILY_MAX_RESOURCE_PACKAGES 512
35#define PACKAGE_GRAPH_MIN_SIZE 1
36#define PACKAGE_GRAPH_MAX_SIZE (1 + PACKAGE_MAX_DEPENDENCIES + PACKAGE_FAMILY_MAX_RESOURCE_PACKAGES)
37
38#define PACKAGE_APPLICATIONS_MIN_COUNT 0
39#define PACKAGE_APPLICATIONS_MAX_COUNT 100
40
41#define PACKAGE_RELATIVE_APPLICATION_ID_MIN_LENGTH (1 + 1)
42#define PACKAGE_RELATIVE_APPLICATION_ID_MAX_LENGTH (64 + 1)
43#define APPLICATION_USER_MODEL_ID_MIN_LENGTH (PACKAGE_FAMILY_NAME_MIN_LENGTH + 1 + PACKAGE_RELATIVE_APPLICATION_ID_MIN_LENGTH)
44#define APPLICATION_USER_MODEL_ID_MAX_LENGTH (PACKAGE_FAMILY_NAME_MAX_LENGTH + 1 + PACKAGE_RELATIVE_APPLICATION_ID_MAX_LENGTH)
45
46#endif /* WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP) */
47
48#endif /* _MINAPPMODEL_H_ */