#include <stdio.h>
#include <unidef.h>

int main(void) {

     LocaleObject locale_object = NULL;
     AttrObject   attr_object = NULL;
     int          result = 0;
     int          rc = ULS_SUCCESS;
     size_t       offset = 0;
     UniChar      *uni_char = L"os2";

     /*****************************************************************/
     /* Assumes LANG environment variable set to a valid locale name, */
     /* such as fr_FR                                                 */
     /*****************************************************************/
     rc = UniCreateLocaleObject(UNI_UCS_STRING_POINTER,
                               (UniChar *)L"", &locale_object);
     if (rc != ULS_SUCCESS) {
       printf("UniCreateLocaleObject error: return code = %u\n", rc);
       return 1;
     }

     /* Create an attribute object */
     rc = UniCreateAttrObject(locale_object,
                             (UniChar *)L"digit", &attr_object);
     if (rc != ULS_SUCCESS) {
       printf("UniCreateAttrObject error: return code = %u\n", rc);
       return 1;
     }

     /* Make call to determine if string matches attributes */
     rc = UniScanForAttr(attr_object, uni_char, UniStrlen(uni_char),
                         FALSE, &offset);
     if (rc != ULS_SUCCESS) {
       printf("UniScanForAttr error: return code = %u\n", rc);
       return 1;
     }
     printf("%d\n", offset );
     return ULS_SUCCESS;
}
