CSA_UPDATE_ENTRY_ATTRIBUTES(3)

πŸ“¦
version 2.5.3 Β· 2 versions
, in nixos 26.05

πŸ’… csa_update_entry_attributes β€” library call

okay bestie, welcome to your new obsession: csa_update_entry_attributes, a library call from the CSA crew ✨ (you'll see it hanging out in csa_update..._attributes(library call) circles, and yes, the header is literally that πŸ’–)


🌸 NAME 🌸

csa_update_entry_attributes β€” update the calendar entry attributes πŸŽ€


✨ SYNOPSIS ✨

#include &<xcsa.h>
CSA_return_code csa_update_entry_attributes(
CSA_session_handle session,
CSA_entry_handle entry,
CSA_enum update_scope,
CSA_boolean update_propagation,
CSA_uint32 number_attributes,
CSA_attribute *entry_attributes,
CSA_entry_handle *new_entry,
CSA_extension *update_entry_attributes_extensions);

πŸ¦‹ DESCRIPTION πŸ¦‹

so what does this icon actually do? csa_update_entry_attributes updates the values of the entry attributes of the calendar entry you specify. literally every attribute you name in entry_attributes gets its existing value replaced by the new one you hand over. 🫢

  • new attributes? you can add them with this function ✨
  • existing attributes you wanna yeet? just set the value part of the entry_attributes structure to NULL and congrats, it's effectively deleted πŸ’…
  • specify a read-only attribute and the universe hits you with the error CSA_E_READONLY πŸ™ˆ
  • and the big one: if the function returns an error, none of the specified attributes get updated. all-or-nothing energy, no cap πŸ’€

as for who's allowed in: only the owner of the calendar, or users with CSA_OWNER_RIGHTS, users with CSA_CHANGE_PUBLIC_ENTRIES, users with CSA_CHANGE_CONFIDENTIAL_ENTRIES, or users with CSA_CHANGE_PRIVATE_ENTRIES can update the entry attributes. the vip list is real πŸ‘‘


πŸŽ€ ARGUMENTS πŸŽ€

Session (Session Handle)

the opaque session handle that represents a session with the calendaring service ✨

session handles are created by a logon function call and invalidated with a logoff function call. if the session handle is invalid, then the error CSA_E_INVALID_SESSION_HANDLE is returned. rude but fair πŸ’€

Entry (Entry Handle)

the handle of the calendar entry to be updated. if the entry handle is invalid, then the error CSA_E_INVALID_ENTRY_HANDLE is returned πŸ¦‹

Update Scope (Enum)

specifies the scope of the entry update. the value is one of these three baddies:

  • CSA_SCOPE_ALL β€” specifies that the scope of the update is for all recurring entries associated with the specified entry πŸ”₯
  • CSA_SCOPE_ONE β€” specifies that the scope of the update is for just the specified entry, one entry, singular, main character only πŸ’…
  • CSA_SCOPE_FORWARD β€” specifies that the scope of the update is for those recurring entries subsequent to the specified entry. the scope also includes the specified entry ✨

Update Propagation (Boolean)

the update propagation flag πŸŽ€

  • FALSE β€” the calendar service is not to propagate updates to the entry to the attendees' calendars
  • TRUE β€” the calendar service is to attempt to propagate updates to the entry to the attendees' calendars

propagation of updates is an implementation specific feature. implementations that do not support update propagation will return the error CSA_E_UNSUPPORTED_PARAMETER if a value other than FALSE is specified. so like… read the room, check your implementation first 😭

Number Attributes (Uint32)

the number of attributes that will be used to define the entry updates πŸ”’

Entry Attributes (Attribute)

a pointer to an array of attributes that will be used to define the entry updates ✨

Update Entry Attributes Extensions (Extension)

a pointer to an array of CSA_extension structures for this function. the array may contain both input extensions for providing additional information to the function and output extensions for receiving information from the function 🫢

a value of NULL indicates that the caller is not using any extensions. see the extensions structure for more information πŸ’–


⭐ RETURN VALUE ⭐

New Entry (Entry Handle)

a pointer to the handle of the updated calendar entry πŸ‘‘

if this value is NULL, then the implementation did not need to create a new entry handle for the updated entry. this handle is allocated by the service and should be freed with a single call to csa_free(3). single call. one. don't spam it, bestie πŸŽ€

Update Entry Attributes Extensions (Extension)

if output extensions were passed to the function in the extensions list, the results from the service will be available in the extension. see the extensions structure for more information 🌸

whether the function succeeded or not, and, if not, why. it may be success or one of the values listed under ERRORS below πŸ’…


πŸ’€ ERRORS πŸ’€

the csa_update_entry_attributes function returns the following error values:

  • CSA_E_DISK_FULL β€” insufficient disk space was available to complete the requested operation (this may refer to local or shared disk space) 😭
  • CSA_E_FAILURE β€” there was a general failure that does not fit the description of any other error code 🫠
  • CSA_E_INSUFFICIENT_MEMORY β€” insufficient memory was available to complete the requested operation
  • CSA_E_INVALID_ATTRIBUTE β€” an attribute was specified that was not defined by this specification and the implementation does not support the attribute as an application specific attribute
  • CSA_E_INVALID_ATTRIBUTE_VALUE β€” an invalid attribute value was specified for an attribute
  • CSA_E_INVALID_DATA_EXT β€” the data extension requested is invalid
  • CSA_E_INVALID_ENTRY_HANDLE β€” an invalid calendar entry handle was specified
  • CSA_E_INVALID_ENUM β€” a CSA_enum value is invalid
  • CSA_E_INVALID_FLAG β€” a flag value in the flags argument was invalid
  • CSA_E_INVALID_FUNCTION_EXT β€” the function extension requested is invalid
  • CSA_E_INVALID_PARAMETER β€” a function parameter was invalid
  • CSA_E_INVALID_SESSION_HANDLE β€” the specified Session Handle is invalid or no longer valid (e.g., after logging off)
  • CSA_E_NO_AUTHORITY β€” the user has insufficient authority for this function πŸ™ˆ
  • CSA_E_READ_ONLY β€” an attempt was made to update a readonly attribute
  • CSA_E_SERVICE_UNAVAILABLE β€” the requested calendar service is unavailable
  • CSA_E_TEXT_TOO_LARGE β€” the size of the text string passed to the implementation is too large
  • CSA_E_UNSUPPORTED_ATTRIBUTE β€” an attribute was encountered that is unsupported by the calendar service
  • CSA_E_UNSUPPORTED_DATA_EXT β€” the data extension requested is not supported
  • CSA_E_UNSUPPORTED_ENUM β€” the specified enumerated value is not valid
  • CSA_E_UNSUPPORTED_FLAG β€” the flag requested is not supported
  • CSA_E_UNSUPPORTED_FUNCTION_EXT β€” the specified function extension is not supported or CSA_EXT_REQUIRED is set. the specified function extension is not supported or CSA_EXT_REQUIRED is set. (yes bestie, it says it twice, that's canon πŸ’€)
  • CSA_E_UNSUPPORTED_PARAMETER β€” one of the parameters is not supported

🌈 SEE ALSO 🌈

csa/csa.h - csacsa(5), csa_add_calendar(3), csa_add_entry(3), csa_call_callbacks(3), csa_delete_calendar(3), csa_delete_entry(3), csa_free(3), csa_free_time_search(3), csa_list_calendar_attributes(3), csa_list_calendars(3), csa_list_entries(3), csa_list_entry_attributes(3), csa_list_entry_sequence(3), csa_logoff(3), csa_logon(3), csa_look_up(3), csa_query_configuration(3), csa_read_calendar_attributes(3), csa_read_entry_attributes(3), csa_read_next_reminder(3), csa_register_callback(3), csa_unregister_callback(3), csa_update_calendar_attributes(3) πŸ’œ


okay that's the whole page, bestie β€” go forth and update those attributes responsibly 🧚✨

sign-off szn πŸŽ€: this iconic little number is from the csa_update..._attributes(library call) manual, and you can peep it again on that same footer down there β€” csa_update..._attributes(library call) πŸ¦‹ ate and left no crumbs πŸ’…

πŸ“¦ where this page comes from