Home | History | Annotate | Download | only in log
      1 /*
      2  * Copyright (C) 2007 The Android Open Source Project
      3  *
      4  * Licensed under the Apache License, Version 2.0 (the "License");
      5  * you may not use this file except in compliance with the License.
      6  * You may obtain a copy of the License at
      7  *
      8  *      http://www.apache.org/licenses/LICENSE-2.0
      9  *
     10  * Unless required by applicable law or agreed to in writing, software
     11  * distributed under the License is distributed on an "AS IS" BASIS,
     12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     13  * See the License for the specific language governing permissions and
     14  * limitations under the License.
     15  */
     16 
     17 #ifndef _LIBS_CUTILS_EVENTTAGMAP_H
     18 #define _LIBS_CUTILS_EVENTTAGMAP_H
     19 
     20 #ifdef __cplusplus
     21 extern "C" {
     22 #endif
     23 
     24 #define EVENT_TAG_MAP_FILE "/system/etc/event-log-tags"
     25 
     26 struct EventTagMap;
     27 typedef struct EventTagMap EventTagMap;
     28 
     29 /*
     30  * Open the specified file as an event log tag map.
     31  *
     32  * Returns NULL on failure.
     33  */
     34 EventTagMap* android_openEventTagMap(const char* fileName);
     35 
     36 /*
     37  * Close the map.
     38  */
     39 void android_closeEventTagMap(EventTagMap* map);
     40 
     41 /*
     42  * Look up a tag by index.  Returns the tag string, or NULL if not found.
     43  */
     44 const char* android_lookupEventTag(const EventTagMap* map, unsigned int tag)
     45     __attribute__((
     46         deprecated("use android_lookupEventTag_len() instead to minimize "
     47                    "MAP_PRIVATE copy-on-write memory impact")));
     48 
     49 /*
     50  * Look up a tag by index.  Returns the tag string & string length, or NULL if
     51  * not found.  Returned string is not guaranteed to be nul terminated.
     52  */
     53 const char* android_lookupEventTag_len(const EventTagMap* map, size_t* len,
     54                                        unsigned int tag);
     55 
     56 /*
     57  * Look up a format by index. Returns the format string & string length,
     58  * or NULL if not found. Returned string is not guaranteed to be nul terminated.
     59  */
     60 const char* android_lookupEventFormat_len(const EventTagMap* map, size_t* len,
     61                                           unsigned int tag);
     62 
     63 /*
     64  * Look up tagname, generate one if necessary, and return a tag
     65  */
     66 int android_lookupEventTagNum(EventTagMap* map, const char* tagname,
     67                               const char* format, int prio);
     68 
     69 #ifdef __cplusplus
     70 }
     71 #endif
     72 
     73 #endif /*_LIBS_CUTILS_EVENTTAGMAP_H*/
     74