uuu
uuu (Universal Update Utility), mfgtools 3.0
 
Loading...
Searching...
No Matches
libuuu.h
Go to the documentation of this file.
1/*
2* Copyright 2018 NXP.
3*
4* Redistribution and use in source and binary forms, with or without modification,
5* are permitted provided that the following conditions are met:
6*
7* Redistributions of source code must retain the above copyright notice, this
8* list of conditions and the following disclaimer.
9*
10* Redistributions in binary form must reproduce the above copyright notice, this
11* list of conditions and the following disclaimer in the documentation and/or
12* other materials provided with the distribution.
13*
14* Neither the name of the NXP Semiconductor nor the names of its
15* contributors may be used to endorse or promote products derived from this
16* software without specific prior written permission.
17*
18* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
22* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28* POSSIBILITY OF SUCH DAMAGE.
29*
30*/
31#ifndef __libuuu___
32#define __libuuu___
33
34#include <stdint.h>
35#include <stddef.h>
36
37#ifdef DLL_EXPORT_LIBUUU
38#define DLLEXPORT __declspec(dllexport)
39#define DLLIMPORT __declspec(dllimport)
40#else
41#define DLLEXPORT
42#define DLLIMPORT
43#endif
44
45
46#ifdef __cplusplus
47#define EXT extern "C" DLLEXPORT
48#else
49#define EXT DLLEXPORT
50#endif
51
52
57EXT const char * uuu_get_last_err_string();
58
64
65EXT const char * uuu_get_version_string();
66
71
73
74
75
77{
79 {
81 NOTIFY_CMD_START, /* str is command name*/
82 NOTIFY_CMD_END, /* status show command finish status. 0 is success. Other failure.*/
83 NOTIFY_CMD_INDEX, /*Current running command index*/
84
85 NOTIFY_CMD_INFO, /* Status info string */
86
88 NOTIFY_PHASE_INDEX, /*Current running phase*/
89
90 NOTIFY_TRANS_SIZE, /*Total size*/
91 NOTIFY_TRANS_POS, /*Current finished transfer pos*/
92
95
99
103
105 };
106
108 uint64_t id;
109 uint64_t timestamp;
110 union
111 {
113 size_t index;
114 size_t total;
115 char *str;
116 };
117};
118
119typedef int (*uuu_notify_fun)(struct uuu_notify, void *data);
120
123
124typedef int(*uuu_show_cfg)(const char *pro, const char *chip, const char *comp, uint16_t vid, uint16_t pid, uint16_t bcdlow, uint16_t bcdhigh, void *p);
125EXT int uuu_for_each_cfg(uuu_show_cfg fn, void *p);
126
127typedef int(*uuu_ls_file)(const char *path, void *p);
128EXT int uuu_for_each_ls_file(uuu_ls_file fn, const char *path, void *p);
129
130typedef int(*uuu_ls_usb_devices)(const char *path, const char *chip, const char *pro, uint16_t vid, uint16_t pid, uint16_t bcd, const char *serial_no, void *p);
132
133EXT int uuu_run_cmd(const char * cmd, int dry);
134EXT int uuu_run_cmd_script(const char *script, int dry);
135
136EXT int uuu_auto_detect_file(const char * filename);
137EXT int uuu_wait_uuu_finish(int deamon, int dry);
138EXT int uuu_add_usbpath_filter(const char *path);
139EXT int uuu_add_usbserial_no_filter(const char *serial_no);
140
141/*Set timeout wait for known devices appeared*/
142EXT int uuu_set_wait_timeout(int timeout_in_seconds);
143/*Set timeout wait for next devices appeared, e.g. FB -> FBK*/
144EXT int uuu_set_wait_next_timeout(int timeout_in_seconds);
145/*Set usb device polling period */
146EXT void uuu_set_poll_period(int period_in_milliseconds);
147
153/*
154 * bit 0:15 for libusb
155 * bit 16:31 for uuu
156 */
157EXT void uuu_set_debug_level(uint32_t mask);
158
159/*
160 * 0 disable small memory mode, buffer all data, it is used for multi-board program.
161 */
162EXT void uuu_set_small_mem(uint32_t val);
163
164#define MAX_USER_LEN 128
165typedef int (*uuu_askpasswd)(char* prompt, char user[MAX_USER_LEN], char passwd[MAX_USER_LEN]);
167
173
174/*Get .bmap handling mode*/
177
178#endif
#define EXT
Definition libuuu.h:49
EXT const char * uuu_get_last_err_string()
Definition error.cpp:68
int(* uuu_ls_file)(const char *path, void *p)
Definition libuuu.h:127
EXT int uuu_set_bmap_mode(bmap_mode mode)
Definition bmap.cpp:16
EXT int uuu_for_each_cfg(uuu_show_cfg fn, void *p)
Definition config.cpp:89
EXT int uuu_unregister_notify_callback(uuu_notify_fun f)
Definition notify.cpp:55
EXT bmap_mode uuu_get_bmap_mode()
Definition bmap.cpp:11
EXT int uuu_set_askpasswd(uuu_askpasswd ask)
Definition http.cpp:56
EXT int uuu_for_each_devices(uuu_ls_usb_devices fn, void *p)
Definition usbhotplug.cpp:600
EXT int uuu_register_notify_callback(uuu_notify_fun f, void *data)
Definition notify.cpp:48
int(* uuu_notify_fun)(struct uuu_notify, void *data)
Definition libuuu.h:119
int(* uuu_askpasswd)(char *prompt, char user[MAX_USER_LEN], char passwd[MAX_USER_LEN])
Definition libuuu.h:165
EXT int uuu_for_each_ls_file(uuu_ls_file fn, const char *path, void *p)
Definition buffer.cpp:1851
EXT int uuu_get_last_err()
Definition error.cpp:80
EXT int uuu_add_usbpath_filter(const char *path)
Definition usbhotplug.cpp:588
EXT const char * uuu_get_version_string()
Definition version.cpp:41
EXT void uuu_set_poll_period(int period_in_milliseconds)
Definition usbhotplug.cpp:641
#define MAX_USER_LEN
Definition libuuu.h:164
int(* uuu_ls_usb_devices)(const char *path, const char *chip, const char *pro, uint16_t vid, uint16_t pid, uint16_t bcd, const char *serial_no, void *p)
Definition libuuu.h:130
EXT int uuu_wait_uuu_finish(int deamon, int dry)
Definition cmd.cpp:1162
EXT int uuu_auto_detect_file(const char *filename)
Definition cmd.cpp:1103
EXT int uuu_add_usbserial_no_filter(const char *serial_no)
Definition usbhotplug.cpp:594
LIBUUU_DEBUG_LEVEL
Definition libuuu.h:149
@ LIBUUU_DETAIL
Definition libuuu.h:151
@ LIBUUU_NORMAL
Definition libuuu.h:150
int(* uuu_show_cfg)(const char *pro, const char *chip, const char *comp, uint16_t vid, uint16_t pid, uint16_t bcdlow, uint16_t bcdhigh, void *p)
Definition libuuu.h:124
EXT void uuu_set_debug_level(uint32_t mask)
Definition error.cpp:57
EXT int uuu_set_wait_timeout(int timeout_in_seconds)
Definition usbhotplug.cpp:635
bmap_mode
Definition libuuu.h:168
@ Default
Definition libuuu.h:169
@ Force
Definition libuuu.h:170
@ Ignore
Definition libuuu.h:171
EXT int uuu_run_cmd_script(const char *script, int dry)
Definition cmd.cpp:1057
EXT int uuu_set_wait_next_timeout(int timeout_in_seconds)
Definition usbhotplug.cpp:646
EXT int uuu_run_cmd(const char *cmd, int dry)
Definition cmd.cpp:533
EXT void uuu_set_small_mem(uint32_t val)
Definition buffer.cpp:2034
EXT int uuu_get_version()
Definition version.cpp:46
Definition libuuu.h:77
uint64_t id
Definition libuuu.h:108
int status
Definition libuuu.h:112
char * str
Definition libuuu.h:115
size_t index
Definition libuuu.h:113
NOTIFY_TYPE
Definition libuuu.h:79
@ NOTIFY_TRANS_POS
Definition libuuu.h:91
@ NOTIFY_CMD_END
Definition libuuu.h:82
@ NOTIFY_WAIT_FOR
Definition libuuu.h:93
@ NOTIFY_DECOMPRESS_POS
Definition libuuu.h:98
@ NOTIFY_TRANS_SIZE
Definition libuuu.h:90
@ NOTIFY_DECOMPRESS_SIZE
Definition libuuu.h:97
@ NOTIFY_THREAD_EXIT
Definition libuuu.h:102
@ NOTIFY_CMD_INFO
Definition libuuu.h:85
@ NOTIFY_CMD_TOTAL
Definition libuuu.h:80
@ NOTIFY_DOWNLOAD_START
Definition libuuu.h:100
@ NOTIFY_DEV_ATTACH
Definition libuuu.h:94
@ NOTIFY_CMD_INDEX
Definition libuuu.h:83
@ NOTIFY_PHASE_INDEX
Definition libuuu.h:88
@ NOTIFY_DECOMPRESS_START
Definition libuuu.h:96
@ NOTIFY_DONE
Definition libuuu.h:104
@ NOTIFY_CMD_START
Definition libuuu.h:81
@ NOTIFY_DOWNLOAD_END
Definition libuuu.h:101
@ NOTIFY_PHASE_TOTAL
Definition libuuu.h:87
uint64_t timestamp
Definition libuuu.h:109
NOTIFY_TYPE type
Definition libuuu.h:107
size_t total
Definition libuuu.h:114