Retrieve the focus modes available on the camera.


#include <camera/camera_api.h>
camera_error_t camera_get_focus_modes(camera_handle_t handle, int numasked, int *numsupported, camera_focusmode_t *modes)



The handle returned by a call to the camera_open() function.


The requested number of focus modes to return in the modes array. You can specify a value of zero to determine the number of supported focus modes available on the camera.


The pointer to an integer that is populated with the number of focus modes supported by the camera.


A pointer to a camera_focusmode_t array. The array is updated with the focus modes supported by the camera. Ensure that you create an array with the same number of elements as the numasked argument.




The API allows you to retrieve the focus modes available given the current platform and camera.

When calling this function, ensure that the modes argument points to an array which has at least the number of elements allocated as specified in the numasked argument. To determine an appropriate size for this array, you can invoke this function in presizing-mode by setting the numasked argument to 0 or modes argument set to NULL. When the function is invoked in this presizing-mode, the maximum array size required is returned in numsupported argument. You can then allocate an array of the appropriate size and invoke the function again with numasked argument set to the value returned previously in the numsupported argument.


CAMERA_OK when the function successfully completes, otherwise another camera_error_t value that provides the reason that the call failed.