TizenRT Libs&Environment  v2.0 M2
usbmonitor.h
Go to the documentation of this file.
1 /****************************************************************************
2  *
3  * Copyright 2016 Samsung Electronics All Rights Reserved.
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing,
12  * software distributed under the License is distributed on an
13  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
14  * either express or implied. See the License for the specific
15  * language governing permissions and limitations under the License.
16  *
17  ****************************************************************************/
18 /****************************************************************************
19  * apps/include/usbmonitor.h
20  *
21  * Copyright (C) 2013 Gregory Nutt. All rights reserved.
22  * Author: Gregory Nutt <gnutt@nuttx.org>
23  *
24  * Redistribution and use in source and binary forms, with or without
25  * modification, are permitted provided that the following conditions
26  * are met:
27  *
28  * 1. Redistributions of source code must retain the above copyright
29  * notice, this list of conditions and the following disclaimer.
30  * 2. Redistributions in binary form must reproduce the above copyright
31  * notice, this list of conditions and the following disclaimer in
32  * the documentation and/or other materials provided with the
33  * distribution.
34  * 3. Neither the name NuttX nor the names of its contributors may be
35  * used to endorse or promote products derived from this software
36  * without specific prior written permission.
37  *
38  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
39  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
40  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
41  * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
42  * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
43  * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
44  * BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
45  * OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
46  * AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
47  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
48  * ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
49  * POSSIBILITY OF SUCH DAMAGE.
50  *
51  ****************************************************************************/
52 
53 #ifndef __APPS_INCLUDE_USBMONITOR_H
54 #define __APPS_INCLUDE_USBMONITOR_H
55 
56 /****************************************************************************
57  * Included Files
58  ****************************************************************************/
59 
60 #include <tinyara/config.h>
61 
62 #ifdef CONFIG_SYSTEM_USBMONITOR
63 
64 /****************************************************************************
65  * Pre-Processor Definitions
66  ****************************************************************************/
67 
68 /****************************************************************************
69  * Public Data
70  ****************************************************************************/
71 
72 #ifdef __cplusplus
73 // *INDENT-OFF*
74 #define EXTERN extern "C"
75 extern "C" {
76 #else
77 #define EXTERN extern
78 // *INDENT-ON*
79 #endif
80 
81 /****************************************************************************
82  * Public Function Prototypes
83  ****************************************************************************/
84 
85 /****************************************************************************
86  * Name: usbmon_start and usbmon_stop
87  *
88  * Start and top the USB monitor daemon. These are normally controlled
89  * from the USB command line, but the ability to control these
90  * programmatically is also helpful (for example, so that the daemon is
91  * running before TASH starts).
92  *
93  * Input Parameters:
94  * Standard task parameters. These can be called or spawned. Since the
95  * return almost immediately, it is fine to just call the functions. The
96  * parameters are not used so you can pass 0 and NULL, respectivley; this
97  * is done this way so that these functions can be TASH builtin
98  * applications.
99  *
100  * Returned values:
101  * Standard task return values (zero meaning success).
102  *
103  **************************************************************************/
104 
105 int usbmonitor_start(int argc, char **argv);
106 int usbmonitor_stop(int argc, char **argv);
107 
108 #undef EXTERN
109 #ifdef __cplusplus
110 // *INDENT-OFF*
111 }
112 // *INDENT-ON*
113 #endif
114 
115 #endif /* CONFIG_SYSTEM_USBMONITOR */
116 #endif /* __APPS_INCLUDE_USBMONITOR_H */