aboutsummaryrefslogtreecommitdiffstats
path: root/libical/design-data
diff options
context:
space:
mode:
Diffstat (limited to 'libical/design-data')
-rw-r--r--libical/design-data/param-c-types.txt22
-rw-r--r--libical/design-data/prop-to-value.txt2
-rw-r--r--libical/design-data/restrictions.csv122
-rw-r--r--libical/design-data/value-c-types.txt45
4 files changed, 96 insertions, 95 deletions
diff --git a/libical/design-data/param-c-types.txt b/libical/design-data/param-c-types.txt
index d2f28e688a..3f690fa0dc 100644
--- a/libical/design-data/param-c-types.txt
+++ b/libical/design-data/param-c-types.txt
@@ -1,23 +1,23 @@
-ALTREP char*
-CN char*
+ALTREP const char*
+CN const char*
CUTYPE icalparameter_cutype
-DELEGATED-FROM char*
-DELEGATED-TO char*
-DIR char*
+DELEGATED-FROM const char*
+DELEGATED-TO const char*
+DIR const char*
ENCODING icalparameter_encoding
FBTYPE icalparameter_fbtype
-FMTTYPE char*
-LANGUAGE char*
-MEMBER char*
+FMTTYPE const char*
+LANGUAGE const char*
+MEMBER const char*
PARTSTAT icalparameter_partstat
RANGE icalparameter_range
RELATED icalparameter_related
RELTYPE icalparameter_reltype
ROLE icalparameter_role
RSVP int
-SENT-BY char*
-TZID char*
+SENT-BY const char*
+TZID const char*
VALUE icalparameter_value
-X char*
+X const char*
X-LIC-ERRORTYPE icalparameter_xlicerrortype
X-LIC-COMPARETYPE icalparameter_xliccomparetype
diff --git a/libical/design-data/prop-to-value.txt b/libical/design-data/prop-to-value.txt
index 4f4bf196ff..d753007339 100644
--- a/libical/design-data/prop-to-value.txt
+++ b/libical/design-data/prop-to-value.txt
@@ -10,7 +10,7 @@ LOCATION TEXT
PERCENT-COMPLETE INTEGER
PRIORITY INTEGER
RESOURCES TEXT
-STATUS TEXT
+STATUS STATUS
SUMMARY TEXT
COMPLETED DATE-TIME
FREEBUSY PERIOD
diff --git a/libical/design-data/restrictions.csv b/libical/design-data/restrictions.csv
index bf71d96327..1c62e2a8b4 100644
--- a/libical/design-data/restrictions.csv
+++ b/libical/design-data/restrictions.csv
@@ -5,7 +5,7 @@ PUBLISH,VEVENT,DTSTART,NONE,ONE
PUBLISH,VEVENT,ORGANIZER,NONE,ONE
PUBLISH,VEVENT,SUMMARY,NONE,ONE
PUBLISH,VEVENT,UID,NONE,ONE
-PUBLISH,VEVENT,RECURRENCEID,NONE,ZEROORONE
+PUBLISH,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
PUBLISH,VEVENT,SEQUENCE,NONE,ZEROORONE
PUBLISH,VEVENT,ATTACH,NONE,ZEROPLUS
PUBLISH,VEVENT,CATEGORIES,NONE,ZEROPLUS #Non-standard
@@ -26,7 +26,7 @@ PUBLISH,VEVENT,RDATE,NONE,ZEROPLUS
PUBLISH,VEVENT,RELATEDTO,NONE,ZEROPLUS
PUBLISH,VEVENT,RESOURCES,NONE,ZEROORONE
PUBLISH,VEVENT,RRULE,NONE,ZEROPLUS
-PUBLISH,VEVENT,STATUS,NONE,ZEROORONE
+PUBLISH,VEVENT,STATUS,NONE,ZEROORONE,may_be_tent_conf_cancel
PUBLISH,VEVENT,TRANSP,NONE,ZEROORONE
PUBLISH,VEVENT,URL,NONE,ZEROORONE
PUBLISH,VEVENT,X,NONE,ZEROPLUS
@@ -36,7 +36,7 @@ PUBLISH,VEVENT,NONE,VALARM,ZEROPLUS
PUBLISH,VEVENT,NONE,VFREEBUSY,ZERO
PUBLISH,VEVENT,NONE,VJOURNAL,ZERO
PUBLISH,VEVENT,NONE,VTODO,ZERO
-PUBLISH,VEVENT,NONE,VTIMEZONE,ZEROPLUS
+PUBLISH,VEVENT,NONE,VTIMEZONE,ZEROPLUS,must_if_tz_ref
PUBLISH,VEVENT,NONE,X,ZEROPLUS
REQUEST,VEVENT,NONE,NONE,ONEPLUS
REQUEST,VEVENT,ATTENDEE,NONE,ONEPLUS
@@ -53,8 +53,8 @@ REQUEST,VEVENT,COMMENT,NONE,ZEROORONE
REQUEST,VEVENT,CONTACT,NONE,ZEROPLUS
REQUEST,VEVENT,CREATED,NONE,ZEROORONE
REQUEST,VEVENT,DESCRIPTION,NONE,ZEROORONE
-REQUEST,VEVENT,DTEND,NONE,ONEEXCLUSIVE,icalrestriction_check_exclusive
-REQUEST,VEVENT,DURATION,NONE,ONEEXCLUSIVE,icalrestriction_check_exclusive
+REQUEST,VEVENT,DTEND,NONE,ONEEXCLUSIVE,no_duration
+REQUEST,VEVENT,DURATION,NONE,ONEEXCLUSIVE,no_dtend
REQUEST,VEVENT,EXDATE,NONE,ZEROPLUS
REQUEST,VEVENT,EXRULE,NONE,ZEROPLUS
REQUEST,VEVENT,GEO,NONE,ZEROORONE
@@ -62,17 +62,17 @@ REQUEST,VEVENT,LASTMODIFIED,NONE,ZEROORONE
REQUEST,VEVENT,LOCATION,NONE,ZEROORONE
REQUEST,VEVENT,PRIORITY,NONE,ZEROORONE
REQUEST,VEVENT,RDATE,NONE,ZEROPLUS
-REQUEST,VEVENT,RECURRENCEID,NONE,ZEROORONE
+REQUEST,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
REQUEST,VEVENT,RELATEDTO,NONE,ZEROPLUS
REQUEST,VEVENT,REQUESTSTATUS,NONE,ZEROPLUS
REQUEST,VEVENT,RESOURCES,NONE,ZEROORONE
REQUEST,VEVENT,RRULE,NONE,ZEROPLUS
-REQUEST,VEVENT,STATUS,NONE,ZEROORONE
+REQUEST,VEVENT,STATUS,NONE,ZEROORONE,may_be_tent_conf
REQUEST,VEVENT,TRANSP,NONE,ZEROORONE
REQUEST,VEVENT,URL,NONE,ZEROORONE
REQUEST,VEVENT,X,NONE,ZEROPLUS
REQUEST,VEVENT,NONE,VALARM,ZEROPLUS
-REQUEST,VEVENT,NONE,VTIMEZONE,ZEROPLUS
+REQUEST,VEVENT,NONE,VTIMEZONE,ZEROPLUS,must_if_tz_ref
REQUEST,VEVENT,NONE,X,ZEROPLUS
REQUEST,VEVENT,NONE,VFREEBUSY,ZERO
REQUEST,VEVENT,NONE,VJOURNAL,ZERO
@@ -81,7 +81,7 @@ REPLY,VEVENT,NONE,NONE,ONEPLUS
REPLY,VEVENT,ATTENDEE,NONE,ONE
REPLY,VEVENT,DTSTAMP,NONE,ONE
REPLY,VEVENT,ORGANIZER,NONE,ONE
-REPLY,VEVENT,RECURRENCEID,NONE,ZEROORONE
+REPLY,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
REPLY,VEVENT,UID,NONE,ONE
REPLY,VEVENT,SEQUENCE,NONE,ZEROORONE
REPLY,VEVENT,ATTACH,NONE,ZEROPLUS
@@ -91,9 +91,9 @@ REPLY,VEVENT,COMMENT,NONE,ZEROORONE
REPLY,VEVENT,CONTACT,NONE,ZEROPLUS
REPLY,VEVENT,CREATED,NONE,ZEROORONE
REPLY,VEVENT,DESCRIPTION,NONE,ZEROORONE
-REPLY,VEVENT,DTEND,NONE,ONEEXCLUSIVE,icalrestriction_check_exclusive
+REPLY,VEVENT,DTEND,NONE,ONEEXCLUSIVE,no_duration
REPLY,VEVENT,DTSTART,NONE,ZEROORONE
-REPLY,VEVENT,DURATION,NONE,ONEEXCLUSIVE,icalrestriction_check_exclusive
+REPLY,VEVENT,DURATION,NONE,ONEEXCLUSIVE,no_dtend
REPLY,VEVENT,EXDATE,NONE,ZEROPLUS
REPLY,VEVENT,EXRULE,NONE,ZEROPLUS
REPLY,VEVENT,GEO,NONE,ZEROORONE
@@ -110,7 +110,7 @@ REPLY,VEVENT,SUMMARY,NONE,ZEROORONE
REPLY,VEVENT,TRANSP,NONE,ZEROORONE
REPLY,VEVENT,URL,NONE,ZEROORONE
REPLY,VEVENT,X,NONE,ZEROPLUS
-REPLY,VEVENT,NONE,VTIMEZONE,ZEROORONE
+REPLY,VEVENT,NONE,VTIMEZONE,ZEROORONE,must_if_tz_ref
REPLY,VEVENT,NONE,X,ZEROPLUS
REPLY,VEVENT,NONE,VALARM,ZERO
REPLY,VEVENT,NONE,VFREEBUSY,ZERO
@@ -131,8 +131,8 @@ ADD,VEVENT,COMMENT,NONE,ZEROORONE
ADD,VEVENT,CONTACT,NONE,ZEROPLUS
ADD,VEVENT,CREATED,NONE,ZEROORONE
ADD,VEVENT,DESCRIPTION,NONE,ZEROORONE
-ADD,VEVENT,DTEND,NONE,ONEEXCLUSIVE, icalrestriction_check_exclusive
-ADD,VEVENT,DURATION,NONE,ONEEXCLUSIVE, icalrestriction_check_exclusive
+ADD,VEVENT,DTEND,NONE,ONEEXCLUSIVE,no_duration
+ADD,VEVENT,DURATION,NONE,ONEEXCLUSIVE,no_duration
ADD,VEVENT,EXDATE,NONE,ZEROPLUS
ADD,VEVENT,EXRULE,NONE,ZEROPLUS
ADD,VEVENT,GEO,NONE,ZEROORONE
@@ -143,14 +143,14 @@ ADD,VEVENT,RDATE,NONE,ZEROPLUS
ADD,VEVENT,RELATEDTO,NONE,ZEROPLUS
ADD,VEVENT,RESOURCES,NONE,ZEROORONE
ADD,VEVENT,RRULE,NONE,ZEROPLUS
-ADD,VEVENT,STATUS,NONE,ZEROORONE
+ADD,VEVENT,STATUS,NONE,ZEROORONE,may_be_tent_conf
ADD,VEVENT,TRANSP,NONE,ZEROORONE
ADD,VEVENT,URL,NONE,ZEROORONE
ADD,VEVENT,X,NONE,ZEROPLUS
-ADD,VEVENT,RECURRENCEID,NONE,ZERO
+ADD,VEVENT,RECURRENCEID,NONE,ZERO,must_be_recurring
ADD,VEVENT,REQUESTSTATUS,NONE,ZERO
ADD,VEVENT,NONE,VALARM,ZEROPLUS
-ADD,VEVENT,NONE,VTIMEZONE,ZEROPLUS
+ADD,VEVENT,NONE,VTIMEZONE,ZEROPLUS,must_if_tz_ref
ADD,VEVENT,NONE,X,ZEROPLUS
ADD,VEVENT,NONE,VFREEBUSY,ZERO
ADD,VEVENT,NONE,VTODO,ZERO
@@ -168,9 +168,9 @@ CANCEL,VEVENT,CLASS,NONE,ZEROORONE
CANCEL,VEVENT,CONTACT,NONE,ZEROPLUS
CANCEL,VEVENT,CREATED,NONE,ZEROORONE
CANCEL,VEVENT,DESCRIPTION,NONE,ZEROORONE
-CANCEL,VEVENT,DTEND,NONE,ONEEXCLUSIVE, icalrestriction_check_exclusive
+CANCEL,VEVENT,DTEND,NONE,ONEEXCLUSIVE ,no_duration
CANCEL,VEVENT,DTSTART,NONE,ZEROORONE
-CANCEL,VEVENT,DURATION,NONE,ONEEXCLUSIVE, icalrestriction_check_exclusive
+CANCEL,VEVENT,DURATION,NONE,ONEEXCLUSIVE,no_duration
CANCEL,VEVENT,EXDATE,NONE,ZEROPLUS
CANCEL,VEVENT,EXRULE,NONE,ZEROPLUS
CANCEL,VEVENT,GEO,NONE,ZEROORONE
@@ -178,17 +178,17 @@ CANCEL,VEVENT,LASTMODIFIED,NONE,ZEROORONE
CANCEL,VEVENT,LOCATION,NONE,ZEROORONE
CANCEL,VEVENT,PRIORITY,NONE,ZEROORONE
CANCEL,VEVENT,RDATE,NONE,ZEROPLUS
-CANCEL,VEVENT,RECURRENCEID,NONE,ZEROORONE
+CANCEL,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
CANCEL,VEVENT,RELATEDTO,NONE,ZEROPLUS
CANCEL,VEVENT,RESOURCES,NONE,ZEROORONE
CANCEL,VEVENT,RRULE,NONE,ZEROPLUS
-CANCEL,VEVENT,STATUS,NONE,ZEROORONE
+CANCEL,VEVENT,STATUS,NONE,ZEROORONE,must_be_canceled_no_attendee
CANCEL,VEVENT,SUMMARY,NONE,ZEROORONE
CANCEL,VEVENT,TRANSP,NONE,ZEROORONE
CANCEL,VEVENT,URL,NONE,ZEROORONE
CANCEL,VEVENT,X,NONE,ZEROPLUS
CANCEL,VEVENT,REQUESTSTATUS,NONE,ZERO
-CANCEL,VEVENT,NONE,VTIMEZONE,ZEROPLUS
+CANCEL,VEVENT,NONE,VTIMEZONE,ZEROPLUS,must_if_tz_ref
CANCEL,VEVENT,NONE,X,ZEROPLUS
CANCEL,VEVENT,NONE,VTODO,ZERO
CANCEL,VEVENT,NONE,VJOURNAL,ZERO
@@ -200,7 +200,7 @@ REFRESH,VEVENT,DTSTAMP,NONE,ONE
REFRESH,VEVENT,ORGANIZER,NONE,ONE
REFRESH,VEVENT,UID,NONE,ONE
REFRESH,VEVENT,COMMENT,NONE,ZEROORONE
-REFRESH,VEVENT,RECURRENCEID,NONE,ZEROORONE
+REFRESH,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
REFRESH,VEVENT,X,NONE,ZEROPLUS
REFRESH,VEVENT,ATTACH,NONE,ZERO
REFRESH,VEVENT,CATEGORIES,NONE,ZERO
@@ -231,7 +231,7 @@ REFRESH,VEVENT,NONE,X,ZEROPLUS
REFRESH,VEVENT,NONE,VTODO,ZERO
REFRESH,VEVENT,NONE,VJOURNAL,ZERO
REFRESH,VEVENT,NONE,VFREEBUSY,ZERO
-REFRESH,VEVENT,NONE,VTIMEZONE,ZERO
+REFRESH,VEVENT,NONE,VTIMEZONE,ZERO,must_if_tz_ref
REFRESH,VEVENT,NONE,VALARM,ZERO
COUNTER,VEVENT,NONE,NONE,ONE
COUNTER,VEVENT,DTSTAMP,NONE,ONE
@@ -248,8 +248,8 @@ COUNTER,VEVENT,COMMENT,NONE,ZEROORONE
COUNTER,VEVENT,CONTACT,NONE,ZEROPLUS
COUNTER,VEVENT,CREATED,NONE,ZEROORONE
COUNTER,VEVENT,DESCRIPTION,NONE,ZEROORONE
-COUNTER,VEVENT,DTEND,NONE,ONEEXCLUSIVE, icalrestriction_check_exclusive
-COUNTER,VEVENT,DURATION,NONE,ONEEXCLUSIVE, icalrestriction_check_exclusive
+COUNTER,VEVENT,DTEND,NONE,ONEEXCLUSIVE,no_duration
+COUNTER,VEVENT,DURATION,NONE,ONEEXCLUSIVE,no_duration
COUNTER,VEVENT,EXDATE,NONE,ZEROPLUS
COUNTER,VEVENT,EXRULE,NONE,ZEROPLUS
COUNTER,VEVENT,GEO,NONE,ZEROORONE
@@ -257,17 +257,17 @@ COUNTER,VEVENT,LASTMODIFIED,NONE,ZEROORONE
COUNTER,VEVENT,LOCATION,NONE,ZEROORONE
COUNTER,VEVENT,PRIORITY,NONE,ZEROORONE
COUNTER,VEVENT,RDATE,NONE,ZEROPLUS
-COUNTER,VEVENT,RECURRENCEID,NONE,ZEROORONE
+COUNTER,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
COUNTER,VEVENT,RELATEDTO,NONE,ZEROPLUS
COUNTER,VEVENT,REQUESTSTATUS,NONE,ZEROPLUS
COUNTER,VEVENT,RESOURCES,NONE,ZEROORONE
COUNTER,VEVENT,RRULE,NONE,ZEROPLUS
-COUNTER,VEVENT,STATUS,NONE,ZEROORONE
+COUNTER,VEVENT,STATUS,NONE,ZEROORONE,may_be_tent_conf_cancel
COUNTER,VEVENT,TRANSP,NONE,ZEROORONE
COUNTER,VEVENT,URL,NONE,ZEROORONE
COUNTER,VEVENT,X,NONE,ZEROPLUS
COUNTER,VEVENT,NONE,VALARM,ZEROPLUS
-COUNTER,VEVENT,NONE,VTIMEZONE,ZEROPLUS
+COUNTER,VEVENT,NONE,VTIMEZONE,ZEROPLUS,must_if_tz_ref
COUNTER,VEVENT,NONE,X,ZEROPLUS
COUNTER,VEVENT,NONE,VTODO,ZERO
COUNTER,VEVENT,NONE,VJOURNAL,ZERO
@@ -277,7 +277,7 @@ DECLINECOUNTER,VEVENT,DTSTAMP,NONE,ONE
DECLINECOUNTER,VEVENT,ORGANIZER,NONE,ONE
DECLINECOUNTER,VEVENT,UID,NONE,ONE
DECLINECOUNTER,VEVENT,COMMENT,NONE,ZEROORONE
-DECLINECOUNTER,VEVENT,RECURRENCEID,NONE,ZEROORONE
+DECLINECOUNTER,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
DECLINECOUNTER,VEVENT,REQUESTSTATUS,NONE,ZEROPLUS
DECLINECOUNTER,VEVENT,SEQUENCE,NONE,ZERO
DECLINECOUNTER,VEVENT,X,NONE,ZEROPLUS
@@ -309,7 +309,7 @@ DECLINECOUNTER,VEVENT,NONE,X,ZEROPLUS
DECLINECOUNTER,VEVENT,NONE,VTODO,ZERO
DECLINECOUNTER,VEVENT,NONE,VJOURNAL,ZERO
DECLINECOUNTER,VEVENT,NONE,VFREEBUSY,ZERO
-DECLINECOUNTER,VEVENT,NONE,VTIMEZONE,ZERO
+DECLINECOUNTER,VEVENT,NONE,VTIMEZONE,ZERO,must_if_tz_ref
DECLINECOUNTER,VEVENT,NONE,VALARM,ZERO
PUBLISH,VFREEBUSY,NONE,NONE,ONEPLUS
PUBLISH,VFREEBUSY,DTSTAMP,NONE,ONE
@@ -329,7 +329,7 @@ PUBLISH,VFREEBUSY,NONE,X,ZEROPLUS
PUBLISH,VFREEBUSY,NONE,VEVENT,ZERO
PUBLISH,VFREEBUSY,NONE,VTODO,ZERO
PUBLISH,VFREEBUSY,NONE,VJOURNAL,ZERO
-PUBLISH,VFREEBUSY,NONE,VTIMEZONE,ZERO
+PUBLISH,VFREEBUSY,NONE,VTIMEZONE,ZERO,must_if_tz_ref
PUBLISH,VFREEBUSY,NONE,VALARM,ZERO
REQUEST,VFREEBUSY,NONE,NONE,ONE
REQUEST,VFREEBUSY,ATTENDEE,NONE,ONEPLUS
@@ -396,7 +396,7 @@ PUBLISH,VTODO,LASTMODIFIED,NONE,ZEROORONE
PUBLISH,VTODO,LOCATION,NONE,ZEROORONE
PUBLISH,VTODO,PERCENTCOMPLETE,NONE,ZEROORONE
PUBLISH,VTODO,RDATE,NONE,ZEROPLUS
-PUBLISH,VTODO,RECURRENCEID,NONE,ZEROORONE
+PUBLISH,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
PUBLISH,VTODO,RELATEDTO,NONE,ZEROPLUS
PUBLISH,VTODO,RESOURCES,NONE,ZEROORONE
PUBLISH,VTODO,RRULE,NONE,ZEROPLUS
@@ -436,11 +436,11 @@ REQUEST,VTODO,LASTMODIFIED,NONE,ZEROORONE
REQUEST,VTODO,LOCATION,NONE,ZEROORONE
REQUEST,VTODO,PERCENTCOMPLETE,NONE,ZEROORONE
REQUEST,VTODO,RDATE,NONE,ZEROPLUS
-REQUEST,VTODO,RECURRENCEID,NONE,ZEROORONE
+REQUEST,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
REQUEST,VTODO,RELATEDTO,NONE,ZEROPLUS
REQUEST,VTODO,RESOURCES,NONE,ZEROORONE
REQUEST,VTODO,RRULE,NONE,ZEROPLUS
-REQUEST,VTODO,STATUS,NONE,ZEROORONE
+REQUEST,VTODO,STATUS,NONE,ZEROORONE,may_be_comp_need_process
REQUEST,VTODO,URL,NONE,ZEROORONE
REQUEST,VTODO,X,NONE,ZEROPLUS
REQUEST,VTODO,REQUESTSTATUS,NONE,ZERO
@@ -477,7 +477,7 @@ REPLY,VTODO,RDATE,NONE,ZEROPLUS
REPLY,VTODO,RELATEDTO,NONE,ZEROPLUS
REPLY,VTODO,RESOURCES,NONE,ZEROORONE
REPLY,VTODO,RRULE,NONE,ZEROPLUS
-REPLY,VTODO,RECURRENCEID,NONE,ZEROORONE
+REPLY,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
REPLY,VTODO,SEQUENCE,NONE,ZEROORONE
REPLY,VTODO,STATUS,NONE,ZEROORONE
REPLY,VTODO,SUMMARY,NONE,ZEROORONE
@@ -516,10 +516,10 @@ ADD,VTODO,RDATE,NONE,ZEROPLUS
ADD,VTODO,RELATEDTO,NONE,ZEROPLUS
ADD,VTODO,RESOURCES,NONE,ZEROORONE
ADD,VTODO,RRULE,NONE,ZEROPLUS
-ADD,VTODO,STATUS,NONE,ZEROORONE
+ADD,VTODO,STATUS,NONE,ZEROORONE,may_be_comp_need_process
ADD,VTODO,URL,NONE,ZEROORONE
ADD,VTODO,X,NONE,ZEROPLUS
-ADD,VTODO,RECURRENCEID,NONE,ZERO
+ADD,VTODO,RECURRENCEID,NONE,ZERO,must_be_recurring
ADD,VTODO,REQUESTSTATUS,NONE,ZERO
ADD,VTODO,NONE,VALARM,ZEROPLUS
ADD,VTODO,NONE,VTIMEZONE,ZEROPLUS
@@ -550,12 +550,12 @@ CANCEL,VTODO,LASTMODIFIED,NONE,ZEROORONE
CANCEL,VTODO,LOCATION,NONE,ZEROORONE
CANCEL,VTODO,PERCENTCOMPLETE,NONE,ZEROORONE
CANCEL,VTODO,RDATE,NONE,ZEROPLUS
-CANCEL,VTODO,RECURRENCEID,NONE,ZEROORONE
+CANCEL,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
CANCEL,VTODO,RELATEDTO,NONE,ZEROPLUS
CANCEL,VTODO,RESOURCES,NONE,ZEROORONE
CANCEL,VTODO,RRULE,NONE,ZEROPLUS
CANCEL,VTODO,PRIORITY,NONE,ZEROORONE
-CANCEL,VTODO,STATUS,NONE,ZEROORONE
+CANCEL,VTODO,STATUS,NONE,ZEROORONE,must_be_canceled_no_attendee
CANCEL,VTODO,URL,NONE,ZEROORONE
CANCEL,VTODO,X,NONE,ZEROPLUS
CANCEL,VTODO,REQUESTSTATUS,NONE,ZERO
@@ -568,7 +568,7 @@ REFRESH,VTODO,NONE,NONE,ONE
REFRESH,VTODO,ATTENDEE,NONE,ONE
REFRESH,VTODO,DTSTAMP,NONE,ONE
REFRESH,VTODO,UID,NONE,ONE
-REFRESH,VTODO,RECURRENCEID,NONE,ZEROORONE
+REFRESH,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
REFRESH,VTODO,X,NONE,ZEROPLUS
REFRESH,VTODO,ATTACH,NONE,ZERO
REFRESH,VTODO,CATEGORIES,NONE,ZERO
@@ -625,13 +625,13 @@ COUNTER,VTODO,LASTMODIFIED,NONE,ZEROORONE
COUNTER,VTODO,LOCATION,NONE,ZEROORONE
COUNTER,VTODO,PERCENTCOMPLETE,NONE,ZEROORONE
COUNTER,VTODO,RDATE,NONE,ZEROPLUS
-COUNTER,VTODO,RECURRENCEID,NONE,ZEROORONE
+COUNTER,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
COUNTER,VTODO,RELATEDTO,NONE,ZEROPLUS
COUNTER,VTODO,REQUESTSTATUS,NONE,ZEROPLUS
COUNTER,VTODO,RESOURCES,NONE,ZEROORONE
COUNTER,VTODO,RRULE,NONE,ZEROORONE
COUNTER,VTODO,SEQUENCE,NONE,ZEROORONE
-COUNTER,VTODO,STATUS,NONE,ZEROORONE
+COUNTER,VTODO,STATUS,NONE,ZEROORONE,may_be_comp_need_process
COUNTER,VTODO,URL,NONE,ZEROORONE
COUNTER,VTODO,X,NONE,ZEROPLUS
COUNTER,VTODO,NONE,VALARM,ZEROPLUS
@@ -663,7 +663,7 @@ DECLINECOUNTER,VTODO,LOCATION,NONE,ZEROORONE
DECLINECOUNTER,VTODO,PERCENTCOMPLETE,NONE,ZEROORONE
DECLINECOUNTER,VTODO,PRIORITY,NONE,ZEROORONE
DECLINECOUNTER,VTODO,RDATE,NONE,ZEROPLUS
-DECLINECOUNTER,VTODO,RECURRENCEID,NONE,ZEROORONE
+DECLINECOUNTER,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
DECLINECOUNTER,VTODO,RELATEDTO,NONE,ZEROPLUS
DECLINECOUNTER,VTODO,REQUESTSTATUS,NONE,ZEROPLUS
DECLINECOUNTER,VTODO,RESOURCES,NONE,ZEROORONE
@@ -692,11 +692,11 @@ PUBLISH,VJOURNAL,EXDATE,NONE,ZEROPLUS
PUBLISH,VJOURNAL,EXRULE,NONE,ZEROPLUS
PUBLISH,VJOURNAL,LASTMODIFIED,NONE,ZEROORONE
PUBLISH,VJOURNAL,RDATE,NONE,ZEROPLUS
-PUBLISH,VJOURNAL,RECURRENCEID,NONE,ZEROORONE
+PUBLISH,VJOURNAL,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
PUBLISH,VJOURNAL,RELATEDTO,NONE,ZEROPLUS
PUBLISH,VJOURNAL,RRULE,NONE,ZEROPLUS
PUBLISH,VJOURNAL,SEQUENCE,NONE,ZEROORONE
-PUBLISH,VJOURNAL,STATUS,NONE,ZEROORONE
+PUBLISH,VJOURNAL,STATUS,NONE,ZEROORONE,may_be_draft_final_canceled
PUBLISH,VJOURNAL,SUMMARY,NONE,ZEROORONE
PUBLISH,VJOURNAL,URL,NONE,ZEROORONE
PUBLISH,VJOURNAL,X,NONE,ZEROPLUS
@@ -756,10 +756,10 @@ CANCEL,VJOURNAL,EXDATE,NONE,ZEROPLUS
CANCEL,VJOURNAL,EXRULE,NONE,ZEROPLUS
CANCEL,VJOURNAL,LASTMODIFIED,NONE,ZEROORONE
CANCEL,VJOURNAL,RDATE,NONE,ZEROPLUS
-CANCEL,VJOURNAL,RECURRENCEID,NONE,ZEROORONE
+CANCEL,VJOURNAL,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
CANCEL,VJOURNAL,RELATEDTO,NONE,ZEROPLUS
CANCEL,VJOURNAL,RRULE,NONE,ZEROPLUS
-CANCEL,VJOURNAL,STATUS,NONE,ZEROORONE
+CANCEL,VJOURNAL,STATUS,NONE,ZEROORONE,must_be_cancel_if_present
CANCEL,VJOURNAL,SUMMARY,NONE,ZEROORONE
CANCEL,VJOURNAL,URL,NONE,ZEROORONE
CANCEL,VJOURNAL,X,NONE,ZEROPLUS
@@ -829,11 +829,11 @@ NONE,VEVENT,COMPLETED,NONE,ZERO
NONE,VEVENT,CONTACT,NONE,ZEROPLUS
NONE,VEVENT,CREATED,NONE,ZEROORONE
NONE,VEVENT,DESCRIPTION,NONE,ZEROORONE
-NONE,VEVENT,DTEND,NONE,ONEEXCLUSIVE, icalrestriction_check_exclusive
+NONE,VEVENT,DTEND,NONE,ONEEXCLUSIVE,no_duration
NONE,VEVENT,DTSTAMP,NONE,ZEROORONE
NONE,VEVENT,DTSTART,NONE,ZEROORONE
NONE,VEVENT,DUE,NONE,ZERO
-NONE,VEVENT,DURATION,NONE,ONEEXCLUSIVE, icalrestriction_check_exclusive
+NONE,VEVENT,DURATION,NONE,ONEEXCLUSIVE,no_duration
NONE,VEVENT,EXDATE,NONE,ZEROPLUS
NONE,VEVENT,EXRULE,NONE,ZEROPLUS
NONE,VEVENT,FREEBUSY,NONE,ZERO
@@ -846,7 +846,7 @@ NONE,VEVENT,PERCENTCOMPLETE,NONE,ZERO
NONE,VEVENT,PRIORITY,NONE,ZEROORONE
NONE,VEVENT,PRODID,NONE,ZERO
NONE,VEVENT,RDATE,NONE,ZEROPLUS
-NONE,VEVENT,RECURRENCEID,NONE,ZEROORONE
+NONE,VEVENT,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
NONE,VEVENT,RELATEDTO,NONE,ZEROPLUS
NONE,VEVENT,REPEAT,NONE,ZERO
NONE,VEVENT,REQUESTSTATUS,NONE,ZEROPLUS
@@ -894,7 +894,7 @@ NONE,VTODO,PERCENTCOMPLETE,NONE,ZEROORONE
NONE,VTODO,PRIORITY,NONE,ZEROORONE
NONE,VTODO,PRODID,NONE,ZERO
NONE,VTODO,RDATE,NONE,ZEROPLUS
-NONE,VTODO,RECURRENCEID,NONE,ZEROORONE
+NONE,VTODO,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
NONE,VTODO,RELATEDTO,NONE,ZEROPLUS
NONE,VTODO,REPEAT,NONE,ZERO
NONE,VTODO,REQUESTSTATUS,NONE,ZEROPLUS
@@ -942,7 +942,7 @@ NONE,VJOURNAL,PERCENTCOMPLETE,NONE,ZERO
NONE,VJOURNAL,PRIORITY,NONE,ZERO
NONE,VJOURNAL,PRODID,NONE,ZERO
NONE,VJOURNAL,RDATE,NONE,ZEROPLUS
-NONE,VJOURNAL,RECURRENCEID,NONE,ZEROORONE
+NONE,VJOURNAL,RECURRENCEID,NONE,ZEROORONE,must_be_recurring
NONE,VJOURNAL,RELATEDTO,NONE,ZEROPLUS
NONE,VJOURNAL,REPEAT,NONE,ZERO
NONE,VJOURNAL,REQUESTSTATUS,NONE,ZEROPLUS
@@ -1169,8 +1169,8 @@ NONE,XAUDIOALARM,DTEND,NONE,ZERO
NONE,XAUDIOALARM,DTSTAMP,NONE,ZERO
NONE,XAUDIOALARM,DTSTART,NONE,ZERO
NONE,XAUDIOALARM,DUE,NONE,ZERO
-NONE,XAUDIOALARM,DURATION,NONE,ONEMUTUAL,icalrestriction_check_mutual
-NONE,XAUDIOALARM,REPEAT,NONE,ONEMUTUAL,icalrestriction_check_mutual
+NONE,XAUDIOALARM,DURATION,NONE,ONEMUTUAL,must_have_repeat
+NONE,XAUDIOALARM,REPEAT,NONE,ONEMUTUAL,must_have_duration
NONE,XAUDIOALARM,EXDATE,NONE,ZERO
NONE,XAUDIOALARM,EXRULE,NONE,ZERO
NONE,XAUDIOALARM,FREEBUSY,NONE,ZERO
@@ -1217,8 +1217,8 @@ NONE,XDISPLAYALARM,DTEND,NONE,ZERO
NONE,XDISPLAYALARM,DTSTAMP,NONE,ZERO
NONE,XDISPLAYALARM,DTSTART,NONE,ZERO
NONE,XDISPLAYALARM,DUE,NONE,ZERO
-NONE,XDISPLAYALARM,DURATION,NONE,ONEMUTUAL,icalrestriction_check_mutual
-NONE,XDISPLAYALARM,REPEAT,NONE,ONEMUTUAL,icalrestriction_check_mutual
+NONE,XDISPLAYALARM,DURATION,NONE,ONEMUTUAL,must_have_repeat
+NONE,XDISPLAYALARM,REPEAT,NONE,ONEMUTUAL,must_have_duration
NONE,XDISPLAYALARM,EXDATE,NONE,ZERO
NONE,XDISPLAYALARM,EXRULE,NONE,ZERO
NONE,XDISPLAYALARM,FREEBUSY,NONE,ZERO
@@ -1265,8 +1265,8 @@ NONE,XEMAILALARM,DTEND,NONE,ZERO
NONE,XEMAILALARM,DTSTAMP,NONE,ZERO
NONE,XEMAILALARM,DTSTART,NONE,ZERO
NONE,XEMAILALARM,DUE,NONE,ZERO
-NONE,XEMAILALARM,DURATION,NONE,ONEMUTUAL,icalrestriction_check_mutual
-NONE,XEMAILALARM,REPEAT,NONE,ONEMUTUAL,icalrestriction_check_mutual
+NONE,XEMAILALARM,DURATION,NONE,ONEMUTUAL,must_have_repeat
+NONE,XEMAILALARM,REPEAT,NONE,ONEMUTUAL,must_have_duration
NONE,XEMAILALARM,EXDATE,NONE,ZERO
NONE,XEMAILALARM,EXRULE,NONE,ZERO
NONE,XEMAILALARM,FREEBUSY,NONE,ZERO
@@ -1313,8 +1313,8 @@ NONE,XPROCEDUREALARM,DTEND,NONE,ZERO
NONE,XPROCEDUREALARM,DTSTAMP,NONE,ZERO
NONE,XPROCEDUREALARM,DTSTART,NONE,ZERO
NONE,XPROCEDUREALARM,DUE,NONE,ZERO
-NONE,XPROCEDUREALARM,DURATION,NONE,ONEMUTUAL,icalrestriction_check_mutual
-NONE,XPROCEDUREALARM,REPEAT,NONE,ONEMUTUAL,icalrestriction_check_mutual
+NONE,XPROCEDUREALARM,DURATION,NONE,ONEMUTUAL,must_have_repeat
+NONE,XPROCEDUREALARM,REPEAT,NONE,ONEMUTUAL,must_have_duration
NONE,XPROCEDUREALARM,EXDATE,NONE,ZERO
NONE,XPROCEDUREALARM,EXRULE,NONE,ZERO
NONE,XPROCEDUREALARM,FREEBUSY,NONE,ZERO
diff --git a/libical/design-data/value-c-types.txt b/libical/design-data/value-c-types.txt
index c7dd26034f..76a1e7c9b7 100644
--- a/libical/design-data/value-c-types.txt
+++ b/libical/design-data/value-c-types.txt
@@ -1,22 +1,23 @@
-ATTACH struct icalattachtype # Non-std
-BINARY char*
-BOOLEAN int
-CAL-ADDRESS char*
-DATE struct icaltimetype
-DATE-TIME struct icaltimetype
-DATE-TIME-DATE struct icaltimetype # Non-std
-DATE-TIME-PERIOD struct icalperiodtype # Non-std
-DURATION struct icaldurationtype
-FLOAT float
-GEO struct icalgeotype # Non-std
-INTEGER int
-METHOD icalproperty_method # Non-std
-PERIOD struct icalperiodtype
-RECUR struct icalrecurrencetype
-STRING char* # Non-std
-TEXT char*
-TIME struct icaltimetype
-TRIGGER union icaltriggertype # Non-std
-URI char*
-UTC-OFFSET int
-QUERY char*
+ATTACH std struct icalattachtype # Non-std
+BINARY std const char*
+BOOLEAN std int
+CAL-ADDRESS std const char*
+DATE std struct icaltimetype
+DATE-TIME std struct icaltimetype
+DATE-TIME-DATE std struct icaltimetype # Non-std
+DATE-TIME-PERIOD std struct icalperiodtype # Non-std
+DURATION std struct icaldurationtype
+FLOAT std float
+GEO std struct icalgeotype # Non-std
+INTEGER std int
+METHOD std icalproperty_method # Non-std
+PERIOD std struct icalperiodtype
+RECUR special struct icalrecurrencetype
+STRING std const char* # Non-std
+TEXT std const char*
+TIME std struct icaltimetype
+TRIGGER std union icaltriggertype # Non-std
+URI std const char*
+UTC-OFFSET std int
+QUERY std const char*
+STATUS std icalproperty_status #Non-std \ No newline at end of file