summaryrefslogtreecommitdiffstats
path: root/src/libusbmuxd.c
AgeCommit message (Collapse)AuthorFilesLines
2024-03-26Add libusbmuxd_version() function to interfaceGravatar Nikias Bassen1-0/+8
2024-01-29Move USBMUXD_API to public headersGravatar Nikias Bassen1-22/+24
2023-06-21Remove unneeded buffer copy in device_info_from_plist()Gravatar Nikias Bassen1-3/+1
2023-03-01Add cast to prevent sign-compare compiler warningGravatar Nikias Bassen1-2/+2
2022-01-02Fix typo in commentGravatar Nikias Bassen1-1/+1
Thanks to @timgates42 for pointing this out.
2021-09-01Remove common code in favor of new libimobiledevice-glueGravatar Nikias Bassen1-4/+4
2021-07-15Forward usbmuxd connect error codes instead of using -1 everywhereGravatar Nikias Bassen1-14/+22
2020-12-30Remove cast to the same typeGravatar Rosen Penev1-1/+1
[clang-tidy] Found with google-readability-casting Signed-off-by: Rosen Penev rosenp@gmail.com
2020-12-30Do not use else after return or break for better code readabilityGravatar Rosen Penev1-5/+14
[clang-tidy] Found with readability-else-after-return Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-30Remove pointless returnGravatar Rosen Penev1-1/+0
[clang-tidy] Found with readability-redundant-control-flow Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-12-30Fix inconsistent declarationsGravatar Rosen Penev1-14/+14
[clang-tidy] Found with readability-inconsistent-declaration-parameter-name Signed-off-by: Rosen Penev <rosenp@gmail.com>
2020-06-08Remove trailing whitespace errors from all filesGravatar Martin Szulecki1-6/+6
2020-04-27Fix compiler warning about missing void in function declaration of ↵Gravatar fidetro1-1/+1
usbmuxd_unsubscribe()
2019-05-26Remove unnecessary NULL pointer checksGravatar Nikias Bassen1-9/+4
2019-05-25inotify: Fix hang when usbmuxd is not running and device monitor is stoppedGravatar Nikias Bassen1-2/+47
2019-05-25Make sure device monitor thread can be cancelled without pthread_cancelGravatar Nikias Bassen1-3/+5
2019-05-23Make sure to send device remove events when unregistering the callbackGravatar Nikias Bassen1-0/+8
2019-05-22Add new usbmuxd_events_subscribe/unsubscribe functions with a context so it ↵Gravatar Nikias Bassen1-36/+138
can be used in different threads
2019-03-23Fix Segmentation Fault when UDID parsing failed by bailing out in case of errorGravatar Nikias Bassen1-1/+1
Fixes #63.
2019-02-27Use common thread implementation as used in other libimobiledevice librariesGravatar Nikias Bassen1-32/+13
2019-02-26win32: Make sure ECONNREFUSED is definedGravatar Nikias Bassen1-0/+3
2019-01-18Return meaningful error codes from usbmuxd_connect()Gravatar Nikias Bassen1-5/+13
2018-10-16Avoid code duplication for sanitizing udidGravatar Nikias Bassen1-14/+15
2018-10-15Rename DEBUG and ERROR macros to avoid name collisionGravatar Nikias Bassen1-52/+52
2018-10-14Allow using non-standard usbmuxd socket address via environment variableGravatar Nikias Bassen1-0/+44
By using USBMUXD_SOCKET_ADDRESS environment variable, it is possible to make libusbmuxd connect to the specified address. The value needs to be in format ADDRESS:PORT (or UNIX:PATH on unix systems). If no port number is specified or parsing fails, the standard socket address (or unix domain socket file path) will be used silently.
2018-10-13Add proper support for USB and network (WiFi sync) devices reported by usbmuxdGravatar Nikias Bassen1-101/+201
This commit extends the interface with a new function usbmuxd_get_device() that allows to look up USB *and* network devices, while the 'old' interface usbmuxd_get_device_by_udid() only targets USB devices. The usbmuxd_device_info_t structure now has new members 'conn_type' and 'conn_data' so that the returned device info allows to figure out if a device is available via USB or network. Check the comments in include/usbmuxd.h for more details.
2018-10-12Silence compiler warning about signed vs. unsigned compareGravatar Nikias Bassen1-2/+2
2018-10-12Properly detect availability of program_invocation_short_name and suppress ↵Gravatar Nikias Bassen1-2/+2
compiler warning
2018-10-12Add hyphen to new style UDIDs on device add events tooGravatar Nikias Bassen1-0/+5
2018-10-08Add hyphen to new style UDIDs introduced with iPhone XS/XRGravatar BALATON Zoltan1-0/+5
2018-09-15Add usbmuxd_save_pair_record_with_device_id() to target a device by it's ↵Gravatar Nikias Bassen1-5/+13
usbmux id
2018-09-15Set ClientVersionString to a more adequate string (PACKAGE_VERSION)Gravatar Nikias Bassen1-1/+1
2018-09-15Properly set ProgName (and BundleID if available) in plist messages to usbmuxdGravatar Nikias Bassen1-8/+165
2017-01-03win32: Only define sleep() when it's not found and reorder header file includesGravatar Nikias Bassen1-3/+5
2016-07-14Move EBADMSG and EPROTO defines out of the WIN32 ifdefGravatar David Crosby1-4/+5
Fixes compilation on OpenBSD, which surprisingly doesn't have them
2016-07-14win32: Return WaitForSingleObject error code in usbmuxd_unsubscribeGravatar Nikias Bassen1-1/+4
Similar to the previous commit, WaitForSingleObject may return an error code. While not sure how to handle this error we return it to the caller of usbmuxd_unsubscribe.
2016-07-14Report pthread_kill/pthread_join errors in usbmuxd_unsubscribeGravatar Christophe Fergeau1-2/+7
In order to avoid race condition between an usbmuxd_event_cb_t firing in a different thread and usbmuxd_unsubscribe() being called, libusbmuxd users must assume that once usbmuxd_unsubcribe() returns, no more usbmuxd_event_cb_t callbacks will fire, but also that those which were already started when usbmuxd_unsubcribe() is called will have completed. usbmuxd_unsubcribe() tries to guarantee this, but pthread_kill/pthread_join may fail, in which case this guarantee would not hold. This commit makes sure an error is reported to the caller when we get in this situation (though I'm not really sure how the caller could handle it).
2016-07-14Handle 'Paired' message and pass event to client through callbackGravatar Nikias Bassen1-0/+12
2016-07-13Log all errors during receive for debuggingGravatar BALATON Zoltan1-11/+7
2016-07-13Catch Paired message even if it is ignored now to prevent returning anGravatar BALATON Zoltan1-2/+18
error to the user on receiving this message.
2014-10-10inotify: Work around race condition by adding a retry loopGravatar Nikias Bassen1-1/+8
In certain circumstances usbmuxd might not have been started up when the socket file creation event has occured. This causes connect_usbmuxd_socket() to fail and usbmuxd_listen_inotify() is invoked again, but the socket file creation event will not occur anymore. To fix this we retry to connect to usbmuxd after waiting a second in case the first connection attempt failed (with a maximum of 10 retries).
2014-10-10Fix check for file descriptor validityGravatar Nikias Bassen1-1/+1
2014-10-06Update copyright headerGravatar Martin Szulecki1-2/+2
2014-10-06Fix undefined pointer operation warning from latest ClangGravatar Martin Szulecki1-1/+1
Fixes #20, which caused a warning due to "-Wtautological-pointer-compare".
2014-10-03win32: Avoid exporting non-public symbols with declspec dllexportGravatar Nikias Bassen1-3/+7
2014-10-03Use -fvisibility=hidden to avoid exporting non-public symbolsGravatar Chow Loong Jin1-16/+22
2014-10-03Update copyright headers of all source files to matchGravatar Martin Szulecki1-21/+20
2014-09-11Return 0 on success in usbmuxd_read_buid()Gravatar Nikias Bassen1-1/+2
2014-06-20Properly dereference record_data to check that it's set.Gravatar Aaron Burghardt1-1/+1
Signed-off-by: Martin Szulecki <m.szulecki@libimobiledevice.org>
2014-05-06Make sure to close socket if usbmuxd_get_device_list() errors outGravatar Nikias Bassen1-0/+3