# KIM Library Documentation

## Defines

- #define KIM_UI_ENVIRONMENT_NONE 0
- #define KIM_UI_ENVIRONMENT_AUTO 1
- #define KIM_UI_ENVIRONMENT_GUI 2
- #define KIM_UI_ENVIRONMENT_CLI 3

## Typedefs

- typedef int kim_ui_environment

## Functions

- kim_error kim_library_set_ui_environment (kim_ui_environment in_ui_environment)
    Tell KIM how to present UI from your application.
- kim_error kim_library_set_allow_home_directory_access (kim_boolean in_allow_access)
    Tells KIM whether or not it is allowed to touch the user's home directory.
- kim_error kim_library_set_allow_automatic_prompting (kim_boolean in_allow_automatic_prompting)
    Tells KIM whether or not it is allowed to automatically present user interface.
- kim_error kim_library_set_application_name (kim_string in_application_name)
    Set the name of your application for KIM to use for user interface.

## Define Documentation

#define KIM_UI_ENVIRONMENT_NONE 0

Do not present user interface

#define KIM_UI_ENVIRONMENT_AUTO 1

Automatically determine what user interface is appropriate (default).

#define KIM_UI_ENVIRONMENT_GUI 2

Present a graphical user interface

#define KIM_UI_ENVIRONMENT_CLI 3

Present a command line user interface

## Typedef Documentation

typedef int kim_ui_environment

An integer describing the type of user interface to use.

## Function Documentation

kim_error kim_library_set_ui_environment | ( | kim_ui_environment | in_ui_environment | ) |

Tell KIM how to present UI from your application.

Parameters:

  | in_ui_environment | an integer value describing the type of user interface to use.

Returns:
  On success, KIM_NO_ERROR. On failure, an error code representing the failure.

Note:
  Set to KIM_UI_ENVIRONMENT_AUTO by default.

kim_error kim_library_set_allow_home_directory_access | ( | kim_boolean | in_allow_access | ) |

Tells KIM whether or not it is allowed to touch the user's home directory.

Parameters:

  | in_allow_access | a boolean containing whether or not to touch the user's home directory.

Returns:
  On success, KIM_NO_ERROR. On failure, an error code representing the failure.

Note:
  This API is usually used for Kerberos authenticated home directories to prevent a deadlock.

kim_error kim_library_set_allow_automatic_prompting | ( | kim_boolean | in_allow_automatic_prompting | ) |

Tells KIM whether or not it is allowed to automatically present user interface.

Parameters:

  | in_allow_automatic_prompting | a boolean containing whether or not to prompt automatically.

Returns:
  On success, KIM_NO_ERROR. On failure, an error code representing the failure.

kim_error kim_library_set_application_name | ( | kim_string | in_application_name | ) |

Set the name of your application for KIM to use for user interface.

Parameters:

  | in_application_name | a string containing the localized name of your application.

Returns:
  On success, KIM_NO_ERROR. On failure, an error code representing the failure.

Note:
  On many operating systems KIM can determine the caller's application name automatically. This call exists for applications to use when those mechanisms fail or do not exist.