TSMasterAPI 2.3.4__tar.gz → 2024.6.7.1125__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,11 +1,20 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 1.1
2
2
  Name: TSMasterAPI
3
- Version: 2.3.4
3
+ Version: 2024.6.7.1125
4
4
  Summary: Use TSMaster hardware
5
5
  Home-page: UNKNOWN
6
6
  Author: seven
7
7
  Author-email: 865762826@qq.com
8
- License: BSD License
8
+ License: Apache License
9
+ Description: # TSMasterAPI Package
10
+ This is the TSMaster python library
11
+
12
+ Can only be used by WIN32 Python
13
+
14
+ [联系作者](865762826@qq.com)
15
+
16
+ to write your content.
17
+
9
18
  Platform: WINDOWS
10
19
  Classifier: Intended Audience :: Developers
11
20
  Classifier: Natural Language :: Chinese (Simplified)
@@ -20,15 +29,3 @@ Classifier: Programming Language :: Python :: 3.10
20
29
  Classifier: Programming Language :: Python :: 3.11
21
30
  Classifier: Programming Language :: Python :: 3.12
22
31
  Classifier: Topic :: Software Development :: Libraries
23
- License-File: license.txt
24
-
25
- # TSMasterAPI Package
26
- This is the TSMaster python library
27
-
28
- Can only be used by WIN32 Python
29
-
30
- [联系作者](865762826@qq.com)
31
-
32
- to write your content.
33
-
34
-
@@ -27,9 +27,9 @@ tsdiag_can_delete_all.restype = None
27
27
  tsdiag_can_delete_all.argtypes = []
28
28
 
29
29
  #arg[0] ANetworkIndex
30
- tssocket_dhcp_stop = dll.tssocket_dhcp_stop
31
- tssocket_dhcp_stop.restype = None
32
- tssocket_dhcp_stop.argtypes = [s32]
30
+ rawsocket_dhcp_stop = dll.rawsocket_dhcp_stop
31
+ rawsocket_dhcp_stop.restype = None
32
+ rawsocket_dhcp_stop.argtypes = [s32]
33
33
 
34
34
  #arg[0] ANetworkIndex
35
35
  #arg[1] ping_addr
@@ -2667,51 +2667,51 @@ tsapp_unlock_camera_channel.restype = s32
2667
2667
  tsapp_unlock_camera_channel.argtypes = [s32]
2668
2668
 
2669
2669
  #arg[0] x
2670
- tssocket_htons = dll.tssocket_htons
2671
- tssocket_htons.restype = u16
2672
- tssocket_htons.argtypes = [u16]
2670
+ rawsocket_htons = dll.rawsocket_htons
2671
+ rawsocket_htons.restype = u16
2672
+ rawsocket_htons.argtypes = [u16]
2673
2673
 
2674
2674
  #arg[0] x
2675
- tssocket_htonl = dll.tssocket_htonl
2676
- tssocket_htonl.restype = u32
2677
- tssocket_htonl.argtypes = [u32]
2675
+ rawsocket_htonl = dll.rawsocket_htonl
2676
+ rawsocket_htonl.restype = u32
2677
+ rawsocket_htonl.argtypes = [u32]
2678
2678
 
2679
2679
  #arg[0] cp
2680
2680
  #arg[1] addr
2681
- tssocket_aton = dll.tssocket_aton
2682
- tssocket_aton.restype = s32
2683
- tssocket_aton.argtypes = [pchar,Pip4_addr_t]
2681
+ rawsocket_aton = dll.rawsocket_aton
2682
+ rawsocket_aton.restype = s32
2683
+ rawsocket_aton.argtypes = [pchar,Pip4_addr_t]
2684
2684
 
2685
2685
  #arg[0] addr
2686
- tssocket_ntoa = dll.tssocket_ntoa
2687
- tssocket_ntoa.restype = pchar
2688
- tssocket_ntoa.argtypes = [Pip4_addr_t]
2686
+ rawsocket_ntoa = dll.rawsocket_ntoa
2687
+ rawsocket_ntoa.restype = pchar
2688
+ rawsocket_ntoa.argtypes = [Pip4_addr_t]
2689
2689
 
2690
2690
  #arg[0] cp
2691
2691
  #arg[1] addr
2692
- tssocket_aton6 = dll.tssocket_aton6
2693
- tssocket_aton6.restype = s32
2694
- tssocket_aton6.argtypes = [pchar,Pip6_addr_t]
2692
+ rawsocket_aton6 = dll.rawsocket_aton6
2693
+ rawsocket_aton6.restype = s32
2694
+ rawsocket_aton6.argtypes = [pchar,Pip6_addr_t]
2695
2695
 
2696
2696
  #arg[0] addr
2697
- tssocket_ntoa6 = dll.tssocket_ntoa6
2698
- tssocket_ntoa6.restype = pchar
2699
- tssocket_ntoa6.argtypes = [Pip6_addr_t]
2697
+ rawsocket_ntoa6 = dll.rawsocket_ntoa6
2698
+ rawsocket_ntoa6.restype = pchar
2699
+ rawsocket_ntoa6.argtypes = [Pip6_addr_t]
2700
2700
 
2701
2701
  #arg[0] af
2702
2702
  #arg[1] src
2703
2703
  #arg[2] dst
2704
2704
  #arg[3] size
2705
- tssocket_inet_ntop = dll.tssocket_inet_ntop
2706
- tssocket_inet_ntop.restype = pchar
2707
- tssocket_inet_ntop.argtypes = [s32,ps32,pchar,u32]
2705
+ rawsocket_inet_ntop = dll.rawsocket_inet_ntop
2706
+ rawsocket_inet_ntop.restype = pchar
2707
+ rawsocket_inet_ntop.argtypes = [s32,ps32,pchar,u32]
2708
2708
 
2709
2709
  #arg[0] af
2710
2710
  #arg[1] src
2711
2711
  #arg[2] dst
2712
- tssocket_inet_pton = dll.tssocket_inet_pton
2713
- tssocket_inet_pton.restype = s32
2714
- tssocket_inet_pton.argtypes = [s32,pchar,ps32]
2712
+ rawsocket_inet_pton = dll.rawsocket_inet_pton
2713
+ rawsocket_inet_pton.restype = s32
2714
+ rawsocket_inet_pton.argtypes = [s32,pchar,ps32]
2715
2715
 
2716
2716
  #arg[0] ANetworkIndex
2717
2717
  tssocket_initialize = dll.tssocket_initialize
@@ -2731,47 +2731,51 @@ tssocket_finalize.argtypes = [s32]
2731
2731
 
2732
2732
  #arg[0] ANetworkIndex
2733
2733
  #arg[1] macaddr
2734
- #arg[2] ipaddr
2735
- #arg[3] netmask
2736
- #arg[4] gateway
2737
- #arg[5] mtu
2734
+ #arg[2] vLan
2735
+ #arg[3] ipaddr
2736
+ #arg[4] netmask
2737
+ #arg[5] gateway
2738
+ #arg[6] mtu
2738
2739
  tssocket_add_device = dll.tssocket_add_device
2739
2740
  tssocket_add_device.restype = s32
2740
- tssocket_add_device.argtypes = [s32,pu8,Tip4_addr_t,Tip4_addr_t,Tip4_addr_t,u16]
2741
+ tssocket_add_device.argtypes = [s32,pu8,pu16,Tip4_addr_t,Tip4_addr_t,Tip4_addr_t,u16]
2741
2742
 
2742
2743
  #arg[0] ANetworkIndex
2743
2744
  #arg[1] macaddr
2744
- #arg[2] ipaddr
2745
+ #arg[2] vLan
2746
+ #arg[3] ipaddr
2745
2747
  tssocket_remove_device = dll.tssocket_remove_device
2746
2748
  tssocket_remove_device.restype = s32
2747
- tssocket_remove_device.argtypes = [s32,pu8,Pip4_addr_t]
2749
+ tssocket_remove_device.argtypes = [s32,pu8,pu16,Pip4_addr_t]
2748
2750
 
2749
2751
  #arg[0] ANetworkIndex
2750
2752
  #arg[1] macaddr
2751
- #arg[2] ipaddr
2752
- #arg[3] netmask
2753
- #arg[4] gateway
2754
- #arg[5] mtu
2753
+ #arg[2] vlan
2754
+ #arg[3] ipaddr
2755
+ #arg[4] netmask
2756
+ #arg[5] gateway
2757
+ #arg[6] mtu
2755
2758
  tssocket_add_device_ex = dll.tssocket_add_device_ex
2756
2759
  tssocket_add_device_ex.restype = s32
2757
- tssocket_add_device_ex.argtypes = [s32,pchar,pchar,pchar,pchar,u16]
2760
+ tssocket_add_device_ex.argtypes = [s32,pchar,pchar,pchar,pchar,pchar,u16]
2758
2761
 
2759
2762
  #arg[0] ANetworkIndex
2760
2763
  #arg[1] mac
2761
- #arg[2] ipaddr
2764
+ #arg[2] vlan
2765
+ #arg[3] ipaddr
2762
2766
  tssocket_remove_device_ex = dll.tssocket_remove_device_ex
2763
2767
  tssocket_remove_device_ex.restype = s32
2764
- tssocket_remove_device_ex.argtypes = [s32,pchar,pchar]
2768
+ tssocket_remove_device_ex.argtypes = [s32,pchar,pchar,pchar]
2765
2769
 
2766
2770
  #arg[0] ANetworkIndex
2767
- tssocket_get_errno = dll.tssocket_get_errno
2768
- tssocket_get_errno.restype = s32
2769
- tssocket_get_errno.argtypes = [s32]
2771
+ rawsocket_get_errno = dll.rawsocket_get_errno
2772
+ rawsocket_get_errno.restype = s32
2773
+ rawsocket_get_errno.argtypes = [s32]
2770
2774
 
2771
2775
  #arg[0] ANetworkIndex
2772
- tssocket_dhcp_start = dll.tssocket_dhcp_start
2773
- tssocket_dhcp_start.restype = s32
2774
- tssocket_dhcp_start.argtypes = [s32]
2776
+ rawsocket_dhcp_start = dll.rawsocket_dhcp_start
2777
+ rawsocket_dhcp_start.restype = s32
2778
+ rawsocket_dhcp_start.argtypes = [s32]
2775
2779
 
2776
2780
  #arg[0] ANetworkIndex
2777
2781
  #arg[1] maxfdp1
@@ -2779,17 +2783,17 @@ tssocket_dhcp_start.argtypes = [s32]
2779
2783
  #arg[3] writeset
2780
2784
  #arg[4] exceptset
2781
2785
  #arg[5] timeout
2782
- tssocket_select = dll.tssocket_select
2783
- tssocket_select.restype = s32
2784
- tssocket_select.argtypes = [s32,s32,Pts_fd_set,Pts_fd_set,Pts_fd_set,Pts_timeval]
2786
+ rawsocket_select = dll.rawsocket_select
2787
+ rawsocket_select.restype = s32
2788
+ rawsocket_select.argtypes = [s32,s32,Pts_fd_set,Pts_fd_set,Pts_fd_set,Pts_timeval]
2785
2789
 
2786
2790
  #arg[0] ANetworkIndex
2787
2791
  #arg[1] fds
2788
2792
  #arg[2] nfds
2789
2793
  #arg[3] timeout
2790
- tssocket_poll = dll.tssocket_poll
2791
- tssocket_poll.restype = s32
2792
- tssocket_poll.argtypes = [s32,Pts_pollfd,size_t,s32]
2794
+ rawsocket_poll = dll.rawsocket_poll
2795
+ rawsocket_poll.restype = s32
2796
+ rawsocket_poll.argtypes = [s32,Pts_pollfd,size_t,s32]
2793
2797
 
2794
2798
  #arg[0] ANetworkIndex
2795
2799
  #arg[1] domain
@@ -2798,107 +2802,107 @@ tssocket_poll.argtypes = [s32,Pts_pollfd,size_t,s32]
2798
2802
  #arg[4] recv_cb
2799
2803
  #arg[5] presend_cb
2800
2804
  #arg[6] send_cb
2801
- tssocket = dll.tssocket
2802
- tssocket.restype = s32
2803
- tssocket.argtypes = [s32,s32,s32,s32,tosun_recv_callback,tosun_tcp_presend_callback,tosun_tcp_ack_callback]
2805
+ rawsocket = dll.rawsocket
2806
+ rawsocket.restype = s32
2807
+ rawsocket.argtypes = [s32,s32,s32,s32,tosun_recv_callback,tosun_tcp_presend_callback,tosun_tcp_ack_callback]
2804
2808
 
2805
2809
  #arg[0] s
2806
2810
  #arg[1] addr
2807
2811
  #arg[2] addrlen
2808
- tssocket_accept = dll.tssocket_accept
2809
- tssocket_accept.restype = s32
2810
- tssocket_accept.argtypes = [s32,Pts_sockaddr,pu32]
2812
+ rawsocket_accept = dll.rawsocket_accept
2813
+ rawsocket_accept.restype = s32
2814
+ rawsocket_accept.argtypes = [s32,Pts_sockaddr,pu32]
2811
2815
 
2812
2816
  #arg[0] s
2813
2817
  #arg[1] name
2814
2818
  #arg[2] namelen
2815
- tssocket_bind = dll.tssocket_bind
2816
- tssocket_bind.restype = s32
2817
- tssocket_bind.argtypes = [s32,Pts_sockaddr,u32]
2819
+ rawsocket_bind = dll.rawsocket_bind
2820
+ rawsocket_bind.restype = s32
2821
+ rawsocket_bind.argtypes = [s32,Pts_sockaddr,u32]
2818
2822
 
2819
2823
  #arg[0] s
2820
2824
  #arg[1] how
2821
- tssocket_shutdown = dll.tssocket_shutdown
2822
- tssocket_shutdown.restype = s32
2823
- tssocket_shutdown.argtypes = [s32,s32]
2825
+ rawsocket_shutdown = dll.rawsocket_shutdown
2826
+ rawsocket_shutdown.restype = s32
2827
+ rawsocket_shutdown.argtypes = [s32,s32]
2824
2828
 
2825
2829
  #arg[0] s
2826
2830
  #arg[1] name
2827
2831
  #arg[2] namelen
2828
- tssocket_getpeername = dll.tssocket_getpeername
2829
- tssocket_getpeername.restype = s32
2830
- tssocket_getpeername.argtypes = [s32,Pts_sockaddr,pu32]
2832
+ rawsocket_getpeername = dll.rawsocket_getpeername
2833
+ rawsocket_getpeername.restype = s32
2834
+ rawsocket_getpeername.argtypes = [s32,Pts_sockaddr,pu32]
2831
2835
 
2832
2836
  #arg[0] s
2833
2837
  #arg[1] name
2834
2838
  #arg[2] namelen
2835
- tssocket_getsockname = dll.tssocket_getsockname
2836
- tssocket_getsockname.restype = s32
2837
- tssocket_getsockname.argtypes = [s32,Pts_sockaddr,pu32]
2839
+ rawsocket_getsockname = dll.rawsocket_getsockname
2840
+ rawsocket_getsockname.restype = s32
2841
+ rawsocket_getsockname.argtypes = [s32,Pts_sockaddr,pu32]
2838
2842
 
2839
2843
  #arg[0] s
2840
2844
  #arg[1] level
2841
2845
  #arg[2] optname
2842
2846
  #arg[3] optval
2843
2847
  #arg[4] optlen
2844
- tssocket_getsockopt = dll.tssocket_getsockopt
2845
- tssocket_getsockopt.restype = s32
2846
- tssocket_getsockopt.argtypes = [s32,s32,s32,ps32,pu32]
2848
+ rawsocket_getsockopt = dll.rawsocket_getsockopt
2849
+ rawsocket_getsockopt.restype = s32
2850
+ rawsocket_getsockopt.argtypes = [s32,s32,s32,ps32,pu32]
2847
2851
 
2848
2852
  #arg[0] s
2849
2853
  #arg[1] level
2850
2854
  #arg[2] optname
2851
2855
  #arg[3] optval
2852
2856
  #arg[4] optlen
2853
- tssocket_setsockopt = dll.tssocket_setsockopt
2854
- tssocket_setsockopt.restype = s32
2855
- tssocket_setsockopt.argtypes = [s32,s32,s32,ps32,u32]
2857
+ rawsocket_setsockopt = dll.rawsocket_setsockopt
2858
+ rawsocket_setsockopt.restype = s32
2859
+ rawsocket_setsockopt.argtypes = [s32,s32,s32,ps32,u32]
2856
2860
 
2857
2861
  #arg[0] s
2858
- tssocket_close = dll.tssocket_close
2859
- tssocket_close.restype = s32
2860
- tssocket_close.argtypes = [s32]
2862
+ rawsocket_close = dll.rawsocket_close
2863
+ rawsocket_close.restype = s32
2864
+ rawsocket_close.argtypes = [s32]
2861
2865
 
2862
2866
  #arg[0] s
2863
2867
  #arg[1] AForceExitTimeWait
2864
- tssocket_close_v2 = dll.tssocket_close_v2
2865
- tssocket_close_v2.restype = s32
2866
- tssocket_close_v2.argtypes = [s32,s32]
2868
+ rawsocket_close_v2 = dll.rawsocket_close_v2
2869
+ rawsocket_close_v2.restype = s32
2870
+ rawsocket_close_v2.argtypes = [s32,s32]
2867
2871
 
2868
2872
  #arg[0] s
2869
2873
  #arg[1] name
2870
2874
  #arg[2] namelen
2871
- tssocket_connect = dll.tssocket_connect
2872
- tssocket_connect.restype = s32
2873
- tssocket_connect.argtypes = [s32,Pts_sockaddr,u32]
2875
+ rawsocket_connect = dll.rawsocket_connect
2876
+ rawsocket_connect.restype = s32
2877
+ rawsocket_connect.argtypes = [s32,Pts_sockaddr,u32]
2874
2878
 
2875
2879
  #arg[0] s
2876
2880
  #arg[1] backlog
2877
- tssocket_listen = dll.tssocket_listen
2878
- tssocket_listen.restype = s32
2879
- tssocket_listen.argtypes = [s32,s32]
2881
+ rawsocket_listen = dll.rawsocket_listen
2882
+ rawsocket_listen.restype = s32
2883
+ rawsocket_listen.argtypes = [s32,s32]
2880
2884
 
2881
2885
  #arg[0] s
2882
2886
  #arg[1] mem
2883
2887
  #arg[2] len
2884
2888
  #arg[3] flags
2885
- tssocket_recv = dll.tssocket_recv
2886
- tssocket_recv.restype = size_t
2887
- tssocket_recv.argtypes = [s32,ps32,size_t,s32]
2889
+ rawsocket_recv = dll.rawsocket_recv
2890
+ rawsocket_recv.restype = size_t
2891
+ rawsocket_recv.argtypes = [s32,ps32,size_t,s32]
2888
2892
 
2889
2893
  #arg[0] s
2890
2894
  #arg[1] mem
2891
2895
  #arg[2] len
2892
- tssocket_read = dll.tssocket_read
2893
- tssocket_read.restype = size_t
2894
- tssocket_read.argtypes = [s32,ps32,size_t]
2896
+ rawsocket_read = dll.rawsocket_read
2897
+ rawsocket_read.restype = size_t
2898
+ rawsocket_read.argtypes = [s32,ps32,size_t]
2895
2899
 
2896
2900
  #arg[0] s
2897
2901
  #arg[1] iov
2898
2902
  #arg[2] iovcnt
2899
- tssocket_readv = dll.tssocket_readv
2900
- tssocket_readv.restype = size_t
2901
- tssocket_readv.argtypes = [s32,Pts_iovec,s32]
2903
+ rawsocket_readv = dll.rawsocket_readv
2904
+ rawsocket_readv.restype = size_t
2905
+ rawsocket_readv.argtypes = [s32,Pts_iovec,s32]
2902
2906
 
2903
2907
  #arg[0] s
2904
2908
  #arg[1] mem
@@ -2906,31 +2910,31 @@ tssocket_readv.argtypes = [s32,Pts_iovec,s32]
2906
2910
  #arg[3] flags
2907
2911
  #arg[4] from
2908
2912
  #arg[5] fromlen
2909
- tssocket_recvfrom = dll.tssocket_recvfrom
2910
- tssocket_recvfrom.restype = size_t
2911
- tssocket_recvfrom.argtypes = [s32,ps32,size_t,s32,Pts_sockaddr,pu32]
2913
+ rawsocket_recvfrom = dll.rawsocket_recvfrom
2914
+ rawsocket_recvfrom.restype = size_t
2915
+ rawsocket_recvfrom.argtypes = [s32,ps32,size_t,s32,Pts_sockaddr,pu32]
2912
2916
 
2913
2917
  #arg[0] s
2914
2918
  #arg[1] Amessage
2915
2919
  #arg[2] flags
2916
- tssocket_recvmsg = dll.tssocket_recvmsg
2917
- tssocket_recvmsg.restype = size_t
2918
- tssocket_recvmsg.argtypes = [s32,Pts_msghdr,s32]
2920
+ rawsocket_recvmsg = dll.rawsocket_recvmsg
2921
+ rawsocket_recvmsg.restype = size_t
2922
+ rawsocket_recvmsg.argtypes = [s32,Pts_msghdr,s32]
2919
2923
 
2920
2924
  #arg[0] s
2921
2925
  #arg[1] dataptr
2922
2926
  #arg[2] size
2923
2927
  #arg[3] flags
2924
- tssocket_send = dll.tssocket_send
2925
- tssocket_send.restype = size_t
2926
- tssocket_send.argtypes = [s32,ps32,size_t,s32]
2928
+ rawsocket_send = dll.rawsocket_send
2929
+ rawsocket_send.restype = size_t
2930
+ rawsocket_send.argtypes = [s32,ps32,size_t,s32]
2927
2931
 
2928
2932
  #arg[0] s
2929
2933
  #arg[1] Amessage
2930
2934
  #arg[2] flags
2931
- tssocket_sendmsg = dll.tssocket_sendmsg
2932
- tssocket_sendmsg.restype = size_t
2933
- tssocket_sendmsg.argtypes = [s32,Pts_msghdr,s32]
2935
+ rawsocket_sendmsg = dll.rawsocket_sendmsg
2936
+ rawsocket_sendmsg.restype = size_t
2937
+ rawsocket_sendmsg.argtypes = [s32,Pts_msghdr,s32]
2934
2938
 
2935
2939
  #arg[0] s
2936
2940
  #arg[1] dataptr
@@ -2938,37 +2942,37 @@ tssocket_sendmsg.argtypes = [s32,Pts_msghdr,s32]
2938
2942
  #arg[3] flags
2939
2943
  #arg[4] ato
2940
2944
  #arg[5] tolen
2941
- tssocket_sendto = dll.tssocket_sendto
2942
- tssocket_sendto.restype = size_t
2943
- tssocket_sendto.argtypes = [s32,ps32,size_t,s32,Pts_sockaddr,u32]
2945
+ rawsocket_sendto = dll.rawsocket_sendto
2946
+ rawsocket_sendto.restype = size_t
2947
+ rawsocket_sendto.argtypes = [s32,ps32,size_t,s32,Pts_sockaddr,u32]
2944
2948
 
2945
2949
  #arg[0] s
2946
2950
  #arg[1] dataptr
2947
2951
  #arg[2] size
2948
- tssocket_write = dll.tssocket_write
2949
- tssocket_write.restype = size_t
2950
- tssocket_write.argtypes = [s32,ps32,size_t]
2952
+ rawsocket_write = dll.rawsocket_write
2953
+ rawsocket_write.restype = size_t
2954
+ rawsocket_write.argtypes = [s32,ps32,size_t]
2951
2955
 
2952
2956
  #arg[0] s
2953
2957
  #arg[1] iov
2954
2958
  #arg[2] iovcnt
2955
- tssocket_writev = dll.tssocket_writev
2956
- tssocket_writev.restype = size_t
2957
- tssocket_writev.argtypes = [s32,Pts_iovec,s32]
2959
+ rawsocket_writev = dll.rawsocket_writev
2960
+ rawsocket_writev.restype = size_t
2961
+ rawsocket_writev.argtypes = [s32,Pts_iovec,s32]
2958
2962
 
2959
2963
  #arg[0] s
2960
2964
  #arg[1] cmd
2961
2965
  #arg[2] argp
2962
- tssocket_ioctl = dll.tssocket_ioctl
2963
- tssocket_ioctl.restype = s32
2964
- tssocket_ioctl.argtypes = [s32,s32,ps32]
2966
+ rawsocket_ioctl = dll.rawsocket_ioctl
2967
+ rawsocket_ioctl.restype = s32
2968
+ rawsocket_ioctl.argtypes = [s32,s32,ps32]
2965
2969
 
2966
2970
  #arg[0] s
2967
2971
  #arg[1] cmd
2968
2972
  #arg[2] val
2969
- tssocket_fcntl = dll.tssocket_fcntl
2970
- tssocket_fcntl.restype = s32
2971
- tssocket_fcntl.argtypes = [s32,s32,s32]
2973
+ rawsocket_fcntl = dll.rawsocket_fcntl
2974
+ rawsocket_fcntl.restype = s32
2975
+ rawsocket_fcntl.argtypes = [s32,s32,s32]
2972
2976
 
2973
2977
  #arg[0] ANetworkIndex
2974
2978
  #arg[1] AIPEndPoint
@@ -4764,3 +4768,258 @@ rpc_tsmaster_cmd_transfer_memory = dll.rpc_tsmaster_cmd_transfer_memory
4764
4768
  rpc_tsmaster_cmd_transfer_memory.restype = s32
4765
4769
  rpc_tsmaster_cmd_transfer_memory.argtypes = [size_t,pu8,size_t]
4766
4770
 
4771
+ #arg[0] AHandle
4772
+ #arg[1] AMsg
4773
+ #arg[2] ALevel
4774
+ rpc_tsmaster_cmd_log = dll.rpc_tsmaster_cmd_log
4775
+ rpc_tsmaster_cmd_log.restype = s32
4776
+ rpc_tsmaster_cmd_log.argtypes = [size_t,pchar,s32]
4777
+
4778
+ #arg[0] AHandle
4779
+ rpc_tsmaster_cmd_set_mode_sim = dll.rpc_tsmaster_cmd_set_mode_sim
4780
+ rpc_tsmaster_cmd_set_mode_sim.restype = s32
4781
+ rpc_tsmaster_cmd_set_mode_sim.argtypes = [size_t]
4782
+
4783
+ #arg[0] AHandle
4784
+ rpc_tsmaster_cmd_set_mode_realtime = dll.rpc_tsmaster_cmd_set_mode_realtime
4785
+ rpc_tsmaster_cmd_set_mode_realtime.restype = s32
4786
+ rpc_tsmaster_cmd_set_mode_realtime.argtypes = [size_t]
4787
+
4788
+ #arg[0] AHandle
4789
+ rpc_tsmaster_cmd_set_mode_free = dll.rpc_tsmaster_cmd_set_mode_free
4790
+ rpc_tsmaster_cmd_set_mode_free.restype = s32
4791
+ rpc_tsmaster_cmd_set_mode_free.argtypes = [size_t]
4792
+
4793
+ #arg[0] AHandle
4794
+ #arg[1] ATimeUs
4795
+ rpc_tsmaster_cmd_sim_step = dll.rpc_tsmaster_cmd_sim_step
4796
+ rpc_tsmaster_cmd_sim_step.restype = s32
4797
+ rpc_tsmaster_cmd_sim_step.argtypes = [size_t,s64]
4798
+
4799
+ #arg[0] AAddress
4800
+ #arg[1] ASizeBytes
4801
+ create_process_shared_memory = dll.create_process_shared_memory
4802
+ create_process_shared_memory.restype = s32
4803
+ create_process_shared_memory.argtypes = [ppu8,s32]
4804
+
4805
+ #arg[0] AAddress
4806
+ #arg[1] ASizeBytes
4807
+ get_process_shared_memory = dll.get_process_shared_memory
4808
+ get_process_shared_memory.restype = s32
4809
+ get_process_shared_memory.argtypes = [ppu8,ps32]
4810
+
4811
+ #arg[0] AHandle
4812
+ rpc_tsmaster_cmd_sim_step_batch_start = dll.rpc_tsmaster_cmd_sim_step_batch_start
4813
+ rpc_tsmaster_cmd_sim_step_batch_start.restype = s32
4814
+ rpc_tsmaster_cmd_sim_step_batch_start.argtypes = [size_t]
4815
+
4816
+ #arg[0] AHandle
4817
+ #arg[1] ATimeUs
4818
+ rpc_tsmaster_cmd_sim_step_batch_end = dll.rpc_tsmaster_cmd_sim_step_batch_end
4819
+ rpc_tsmaster_cmd_sim_step_batch_end.restype = s32
4820
+ rpc_tsmaster_cmd_sim_step_batch_end.argtypes = [size_t,s64]
4821
+
4822
+ #arg[0] AHandle
4823
+ #arg[1] AProjectFullPath
4824
+ rpc_tsmaster_cmd_get_project = dll.rpc_tsmaster_cmd_get_project
4825
+ rpc_tsmaster_cmd_get_project.restype = s32
4826
+ rpc_tsmaster_cmd_get_project.argtypes = [size_t,ppchar]
4827
+
4828
+ #arg[0] AHandle
4829
+ #arg[1] ASysVarName
4830
+ #arg[2] AValue
4831
+ rpc_tsmaster_cmd_read_system_var = dll.rpc_tsmaster_cmd_read_system_var
4832
+ rpc_tsmaster_cmd_read_system_var.restype = s32
4833
+ rpc_tsmaster_cmd_read_system_var.argtypes = [size_t,pchar,pdouble]
4834
+
4835
+ #arg[0] AHandle
4836
+ #arg[1] ABusType
4837
+ #arg[2] AAddr
4838
+ #arg[3] AValue
4839
+ rpc_tsmaster_cmd_read_signal = dll.rpc_tsmaster_cmd_read_signal
4840
+ rpc_tsmaster_cmd_read_signal.restype = s32
4841
+ rpc_tsmaster_cmd_read_signal.argtypes = [size_t,TLIBApplicationChannelType,pchar,pdouble]
4842
+
4843
+ #arg[0] AHandle
4844
+ #arg[1] ABusType
4845
+ #arg[2] AAddr
4846
+ #arg[3] AValue
4847
+ rpc_tsmaster_cmd_write_signal = dll.rpc_tsmaster_cmd_write_signal
4848
+ rpc_tsmaster_cmd_write_signal.restype = s32
4849
+ rpc_tsmaster_cmd_write_signal.argtypes = [size_t,TLIBApplicationChannelType,pchar,double]
4850
+
4851
+ #arg[0] ASymbolAddress
4852
+ can_rbs_set_normal_signal = dll.can_rbs_set_normal_signal
4853
+ can_rbs_set_normal_signal.restype = s32
4854
+ can_rbs_set_normal_signal.argtypes = [pchar]
4855
+
4856
+ #arg[0] ASymbolAddress
4857
+ can_rbs_set_rc_signal = dll.can_rbs_set_rc_signal
4858
+ can_rbs_set_rc_signal.restype = s32
4859
+ can_rbs_set_rc_signal.argtypes = [pchar]
4860
+
4861
+ #arg[0] ASymbolAddress
4862
+ #arg[1] ALowerLimit
4863
+ #arg[2] AUpperLimit
4864
+ can_rbs_set_rc_signal_with_limit = dll.can_rbs_set_rc_signal_with_limit
4865
+ can_rbs_set_rc_signal_with_limit.restype = s32
4866
+ can_rbs_set_rc_signal_with_limit.argtypes = [pchar,s32,s32]
4867
+
4868
+ #arg[0] ASymbolAddress
4869
+ #arg[1] AAlgorithmName
4870
+ #arg[2] AIdxByteStart
4871
+ #arg[3] AByteCount
4872
+ can_rbs_set_crc_signal = dll.can_rbs_set_crc_signal
4873
+ can_rbs_set_crc_signal.restype = s32
4874
+ can_rbs_set_crc_signal.argtypes = [pchar,pchar,s32,s32]
4875
+
4876
+ clear_user_constants = dll.clear_user_constants
4877
+ clear_user_constants.restype = s32
4878
+ clear_user_constants.argtypes = []
4879
+
4880
+ #arg[0] AHeaderFile
4881
+ append_user_constants_from_c_header = dll.append_user_constants_from_c_header
4882
+ append_user_constants_from_c_header.restype = s32
4883
+ append_user_constants_from_c_header.argtypes = [pchar]
4884
+
4885
+ #arg[0] AConstantName
4886
+ #arg[1] AValue
4887
+ #arg[2] ADesc
4888
+ append_user_constant = dll.append_user_constant
4889
+ append_user_constant.restype = s32
4890
+ append_user_constant.argtypes = [pchar,double,pchar]
4891
+
4892
+ #arg[0] AConstantName
4893
+ delete_user_constant = dll.delete_user_constant
4894
+ delete_user_constant.restype = s32
4895
+ delete_user_constant.argtypes = [pchar]
4896
+
4897
+ #arg[0] ACount
4898
+ get_mini_program_count = dll.get_mini_program_count
4899
+ get_mini_program_count.restype = s32
4900
+ get_mini_program_count.argtypes = [ps32]
4901
+
4902
+ #arg[0] AIndex
4903
+ #arg[1] AKind
4904
+ #arg[2] AProgramName
4905
+ #arg[3] ADisplayName
4906
+ get_mini_program_info_by_index = dll.get_mini_program_info_by_index
4907
+ get_mini_program_info_by_index.restype = s32
4908
+ get_mini_program_info_by_index.argtypes = [s32,ps32,ppchar,ppchar]
4909
+
4910
+ #arg[0] AProgramNames
4911
+ compile_mini_programs = dll.compile_mini_programs
4912
+ compile_mini_programs.restype = s32
4913
+ compile_mini_programs.argtypes = [pchar]
4914
+
4915
+ #arg[0] ACompleteName
4916
+ #arg[1] AValue
4917
+ set_system_var_init_value = dll.set_system_var_init_value
4918
+ set_system_var_init_value.restype = s32
4919
+ set_system_var_init_value.argtypes = [pchar,pchar]
4920
+
4921
+ #arg[0] ACompleteName
4922
+ #arg[1] AValue
4923
+ get_system_var_init_value = dll.get_system_var_init_value
4924
+ get_system_var_init_value.restype = s32
4925
+ get_system_var_init_value.argtypes = [pchar,ppchar]
4926
+
4927
+ #arg[0] ACompleteName
4928
+ reset_system_var_to_init = dll.reset_system_var_to_init
4929
+ reset_system_var_to_init.restype = s32
4930
+ reset_system_var_to_init.argtypes = [pchar]
4931
+
4932
+ #arg[0] AOwner
4933
+ reset_all_system_var_to_init = dll.reset_all_system_var_to_init
4934
+ reset_all_system_var_to_init.restype = s32
4935
+ reset_all_system_var_to_init.argtypes = [pchar]
4936
+
4937
+ #arg[0] ACompleteName
4938
+ #arg[1] AValue
4939
+ get_system_var_generic_upg1 = dll.get_system_var_generic_upg1
4940
+ get_system_var_generic_upg1.restype = s32
4941
+ get_system_var_generic_upg1.argtypes = [pchar,ppchar]
4942
+
4943
+ #arg[0] AHandle
4944
+ #arg[1] ASgnAddress
4945
+ #arg[2] AValue
4946
+ rpc_tsmaster_cmd_set_can_signal = dll.rpc_tsmaster_cmd_set_can_signal
4947
+ rpc_tsmaster_cmd_set_can_signal.restype = s32
4948
+ rpc_tsmaster_cmd_set_can_signal.argtypes = [size_t,pchar,double]
4949
+
4950
+ #arg[0] AHandle
4951
+ #arg[1] ASgnAddress
4952
+ #arg[2] AValue
4953
+ rpc_tsmaster_cmd_get_can_signal = dll.rpc_tsmaster_cmd_get_can_signal
4954
+ rpc_tsmaster_cmd_get_can_signal.restype = s32
4955
+ rpc_tsmaster_cmd_get_can_signal.argtypes = [size_t,pchar,pdouble]
4956
+
4957
+ #arg[0] AHandle
4958
+ #arg[1] ASgnAddress
4959
+ #arg[2] AValue
4960
+ rpc_tsmaster_cmd_get_lin_signal = dll.rpc_tsmaster_cmd_get_lin_signal
4961
+ rpc_tsmaster_cmd_get_lin_signal.restype = s32
4962
+ rpc_tsmaster_cmd_get_lin_signal.argtypes = [size_t,pchar,pdouble]
4963
+
4964
+ #arg[0] AHandle
4965
+ #arg[1] ASgnAddress
4966
+ #arg[2] AValue
4967
+ rpc_tsmaster_cmd_set_lin_signal = dll.rpc_tsmaster_cmd_set_lin_signal
4968
+ rpc_tsmaster_cmd_set_lin_signal.restype = s32
4969
+ rpc_tsmaster_cmd_set_lin_signal.argtypes = [size_t,pchar,double]
4970
+
4971
+ #arg[0] AHandle
4972
+ #arg[1] ASgnAddress
4973
+ #arg[2] AValue
4974
+ rpc_tsmaster_cmd_set_flexray_signal = dll.rpc_tsmaster_cmd_set_flexray_signal
4975
+ rpc_tsmaster_cmd_set_flexray_signal.restype = s32
4976
+ rpc_tsmaster_cmd_set_flexray_signal.argtypes = [size_t,pchar,double]
4977
+
4978
+ #arg[0] AHandle
4979
+ #arg[1] ASgnAddress
4980
+ #arg[2] AValue
4981
+ rpc_tsmaster_cmd_get_flexray_signal = dll.rpc_tsmaster_cmd_get_flexray_signal
4982
+ rpc_tsmaster_cmd_get_flexray_signal.restype = s32
4983
+ rpc_tsmaster_cmd_get_flexray_signal.argtypes = [size_t,pchar,pdouble]
4984
+
4985
+ #arg[0] AHandle
4986
+ #arg[1] AConstName
4987
+ #arg[2] AValue
4988
+ rpc_tsmaster_cmd_get_constant = dll.rpc_tsmaster_cmd_get_constant
4989
+ rpc_tsmaster_cmd_get_constant.restype = s32
4990
+ rpc_tsmaster_cmd_get_constant.argtypes = [size_t,pchar,pdouble]
4991
+
4992
+ #arg[0] AHandle
4993
+ #arg[1] AIsRunning
4994
+ rpc_tsmaster_is_simulation_running = dll.rpc_tsmaster_is_simulation_running
4995
+ rpc_tsmaster_is_simulation_running.restype = s32
4996
+ rpc_tsmaster_is_simulation_running.argtypes = [size_t,pbool]
4997
+
4998
+ #arg[0] AHandle
4999
+ #arg[1] AAPIName
5000
+ #arg[2] AArgCount
5001
+ #arg[3] AArgCapacity
5002
+ #arg[4] AArgs
5003
+ rpc_tsmaster_call_system_api = dll.rpc_tsmaster_call_system_api
5004
+ rpc_tsmaster_call_system_api.restype = s32
5005
+ rpc_tsmaster_call_system_api.argtypes = [size_t,pchar,s32,s32,ppchar]
5006
+
5007
+ #arg[0] AHandle
5008
+ #arg[1] AAPIName
5009
+ #arg[2] AArgCount
5010
+ #arg[3] AArgCapacity
5011
+ #arg[4] AArgs
5012
+ rpc_tsmaster_call_library_api = dll.rpc_tsmaster_call_library_api
5013
+ rpc_tsmaster_call_library_api.restype = s32
5014
+ rpc_tsmaster_call_library_api.argtypes = [size_t,pchar,s32,s32,ppchar]
5015
+
5016
+ #arg[0] ADirectory
5017
+ get_tsmaster_binary_location = dll.get_tsmaster_binary_location
5018
+ get_tsmaster_binary_location.restype = s32
5019
+ get_tsmaster_binary_location.argtypes = [ppchar]
5020
+
5021
+ #arg[0] ATSMasterAppNames
5022
+ get_active_application_list = dll.get_active_application_list
5023
+ get_active_application_list.restype = s32
5024
+ get_active_application_list.argtypes = [ppchar]
5025
+
@@ -24,7 +24,8 @@ class _TLIBBusToolDeviceType(CEnum):
24
24
  CANABLE_USB_DEVICE = 9
25
25
  TS_WIRELESS_OBD = 10
26
26
  TS_USB_DEVICE_EX = 11
27
- BUS_DEV_TYPE_COUNT = 12
27
+ IXXAT_USB_DEVICE = 12
28
+ BUS_DEV_TYPE_COUNT = 13
28
29
  TLIBBusToolDeviceType = c_int32
29
30
  PLIBBusToolDeviceType = ps32
30
31
 
@@ -41,6 +42,7 @@ class _TSignalType(CEnum):
41
42
  stLINSignal = 1
42
43
  stSystemVar = 2
43
44
  stFlexRay = 3
45
+ stEthernet = 4
44
46
  TSignalType = c_int32
45
47
  PSignalType = ps32
46
48
 
@@ -587,10 +587,11 @@ PLIBFlexRayControllerParameters = POINTER(TLIBFlexRayControllerParameters)
587
587
 
588
588
  class TLIBTrigger_def(Structure):
589
589
  _pack_ = 1
590
- _fields_ =[('frame_idx',u8),
591
- ('slot_id',u8),
590
+ _fields_ =[('slot_id',u16),
591
+ ('frame_idx',u8),
592
592
  ('cycle_code',u8),
593
593
  ('config_byte',u8),
594
+ ('rev',u8),
594
595
  ]
595
596
  PLIBTrigger_def = POINTER(TLIBTrigger_def)
596
597
 
@@ -874,6 +875,14 @@ class Tts_fd_set(Structure):
874
875
  ]
875
876
  Pts_fd_set = POINTER(Tts_fd_set)
876
877
 
878
+ class Tts_pollfd(Structure):
879
+ _pack_ = 1
880
+ _fields_ =[('fd',s32),
881
+ ('events',s16),
882
+ ('revents',s16),
883
+ ]
884
+ Pts_pollfd = POINTER(Tts_pollfd)
885
+
877
886
  class Tts_msghdr(Structure):
878
887
  _pack_ = 1
879
888
  _fields_ =[('msg_name',ps32),
@@ -901,11 +910,3 @@ class Tts_in_pktinfo(Structure):
901
910
  ]
902
911
  Pts_in_pktinfo = POINTER(Tts_in_pktinfo)
903
912
 
904
- class Tts_pollfd(Structure):
905
- _pack_ = 1
906
- _fields_ =[('fd',s32),
907
- ('events',s16),
908
- ('revents',s16),
909
- ]
910
- Pts_pollfd = POINTER(Tts_pollfd)
911
-
@@ -0,0 +1,2 @@
1
+ from .TSAPI import *
2
+ __version__ = 'v2024.6.7.1125'
@@ -1,11 +1,20 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 1.1
2
2
  Name: TSMasterAPI
3
- Version: 2.3.4
3
+ Version: 2024.6.7.1125
4
4
  Summary: Use TSMaster hardware
5
5
  Home-page: UNKNOWN
6
6
  Author: seven
7
7
  Author-email: 865762826@qq.com
8
- License: BSD License
8
+ License: Apache License
9
+ Description: # TSMasterAPI Package
10
+ This is the TSMaster python library
11
+
12
+ Can only be used by WIN32 Python
13
+
14
+ [联系作者](865762826@qq.com)
15
+
16
+ to write your content.
17
+
9
18
  Platform: WINDOWS
10
19
  Classifier: Intended Audience :: Developers
11
20
  Classifier: Natural Language :: Chinese (Simplified)
@@ -20,15 +29,3 @@ Classifier: Programming Language :: Python :: 3.10
20
29
  Classifier: Programming Language :: Python :: 3.11
21
30
  Classifier: Programming Language :: Python :: 3.12
22
31
  Classifier: Topic :: Software Development :: Libraries
23
- License-File: license.txt
24
-
25
- # TSMasterAPI Package
26
- This is the TSMaster python library
27
-
28
- Can only be used by WIN32 Python
29
-
30
- [联系作者](865762826@qq.com)
31
-
32
- to write your content.
33
-
34
-
@@ -1,5 +1,4 @@
1
1
  README.rst
2
- license.txt
3
2
  setup.py
4
3
  TSMasterAPI/TSAPI.py
5
4
  TSMasterAPI/TSCallback.py
@@ -6,20 +6,28 @@ LastEditTime: 2023-11-24 11:46:54
6
6
  FilePath: \VSCode_Pro\Python_Pro\TSMasterApi\setup.py
7
7
  '''
8
8
  from distutils.core import setup
9
+ import os
9
10
  from setuptools import find_packages
11
+ import sys
12
+ _curr_path = os.path.dirname(__file__)
13
+ sys.path.append(_curr_path)
14
+ # import time
15
+ from TSMasterAPI import __version__
16
+ # time_tuple = time.localtime(time.time())
17
+ # AVersion = f'v{time_tuple[0]}.{time_tuple[1]}.{time_tuple[2]}.{time_tuple[3]}'
10
18
 
11
19
  with open("README.rst", "r",encoding="utf-8") as f:
12
20
  long_description = f.read()
13
21
 
14
22
  #
15
23
  setup(name='TSMasterAPI', # 包名
16
- version='2.3.4', # 版本号
24
+ version=__version__, # 版本号
17
25
  description='Use TSMaster hardware',
18
26
  long_description=long_description,
19
27
  author='seven',
20
28
  author_email='865762826@qq.com',
21
29
  install_requires=[],
22
- license='BSD License',
30
+ license='Apache License',
23
31
  packages=find_packages(),
24
32
  platforms=["WINDOWS"],
25
33
  classifiers=[
@@ -1 +0,0 @@
1
- from .TSAPI import *
@@ -1,201 +0,0 @@
1
- Apache License
2
- Version 2.0, January 2004
3
- http://www.apache.org/licenses/
4
-
5
- TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
6
-
7
- 1. Definitions.
8
-
9
- "License" shall mean the terms and conditions for use, reproduction,
10
- and distribution as defined by Sections 1 through 9 of this document.
11
-
12
- "Licensor" shall mean the copyright owner or entity authorized by
13
- the copyright owner that is granting the License.
14
-
15
- "Legal Entity" shall mean the union of the acting entity and all
16
- other entities that control, are controlled by, or are under common
17
- control with that entity. For the purposes of this definition,
18
- "control" means (i) the power, direct or indirect, to cause the
19
- direction or management of such entity, whether by contract or
20
- otherwise, or (ii) ownership of fifty percent (50%) or more of the
21
- outstanding shares, or (iii) beneficial ownership of such entity.
22
-
23
- "You" (or "Your") shall mean an individual or Legal Entity
24
- exercising permissions granted by this License.
25
-
26
- "Source" form shall mean the preferred form for making modifications,
27
- including but not limited to software source code, documentation
28
- source, and configuration files.
29
-
30
- "Object" form shall mean any form resulting from mechanical
31
- transformation or translation of a Source form, including but
32
- not limited to compiled object code, generated documentation,
33
- and conversions to other media types.
34
-
35
- "Work" shall mean the work of authorship, whether in Source or
36
- Object form, made available under the License, as indicated by a
37
- copyright notice that is included in or attached to the work
38
- (an example is provided in the Appendix below).
39
-
40
- "Derivative Works" shall mean any work, whether in Source or Object
41
- form, that is based on (or derived from) the Work and for which the
42
- editorial revisions, annotations, elaborations, or other modifications
43
- represent, as a whole, an original work of authorship. For the purposes
44
- of this License, Derivative Works shall not include works that remain
45
- separable from, or merely link (or bind by name) to the interfaces of,
46
- the Work and Derivative Works thereof.
47
-
48
- "Contribution" shall mean any work of authorship, including
49
- the original version of the Work and any modifications or additions
50
- to that Work or Derivative Works thereof, that is intentionally
51
- submitted to Licensor for inclusion in the Work by the copyright owner
52
- or by an individual or Legal Entity authorized to submit on behalf of
53
- the copyright owner. For the purposes of this definition, "submitted"
54
- means any form of electronic, verbal, or written communication sent
55
- to the Licensor or its representatives, including but not limited to
56
- communication on electronic mailing lists, source code control systems,
57
- and issue tracking systems that are managed by, or on behalf of, the
58
- Licensor for the purpose of discussing and improving the Work, but
59
- excluding communication that is conspicuously marked or otherwise
60
- designated in writing by the copyright owner as "Not a Contribution."
61
-
62
- "Contributor" shall mean Licensor and any individual or Legal Entity
63
- on behalf of whom a Contribution has been received by Licensor and
64
- subsequently incorporated within the Work.
65
-
66
- 2. Grant of Copyright License. Subject to the terms and conditions of
67
- this License, each Contributor hereby grants to You a perpetual,
68
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
69
- copyright license to reproduce, prepare Derivative Works of,
70
- publicly display, publicly perform, sublicense, and distribute the
71
- Work and such Derivative Works in Source or Object form.
72
-
73
- 3. Grant of Patent License. Subject to the terms and conditions of
74
- this License, each Contributor hereby grants to You a perpetual,
75
- worldwide, non-exclusive, no-charge, royalty-free, irrevocable
76
- (except as stated in this section) patent license to make, have made,
77
- use, offer to sell, sell, import, and otherwise transfer the Work,
78
- where such license applies only to those patent claims licensable
79
- by such Contributor that are necessarily infringed by their
80
- Contribution(s) alone or by combination of their Contribution(s)
81
- with the Work to which such Contribution(s) was submitted. If You
82
- institute patent litigation against any entity (including a
83
- cross-claim or counterclaim in a lawsuit) alleging that the Work
84
- or a Contribution incorporated within the Work constitutes direct
85
- or contributory patent infringement, then any patent licenses
86
- granted to You under this License for that Work shall terminate
87
- as of the date such litigation is filed.
88
-
89
- 4. Redistribution. You may reproduce and distribute copies of the
90
- Work or Derivative Works thereof in any medium, with or without
91
- modifications, and in Source or Object form, provided that You
92
- meet the following conditions:
93
-
94
- (a) You must give any other recipients of the Work or
95
- Derivative Works a copy of this License; and
96
-
97
- (b) You must cause any modified files to carry prominent notices
98
- stating that You changed the files; and
99
-
100
- (c) You must retain, in the Source form of any Derivative Works
101
- that You distribute, all copyright, patent, trademark, and
102
- attribution notices from the Source form of the Work,
103
- excluding those notices that do not pertain to any part of
104
- the Derivative Works; and
105
-
106
- (d) If the Work includes a "NOTICE" text file as part of its
107
- distribution, then any Derivative Works that You distribute must
108
- include a readable copy of the attribution notices contained
109
- within such NOTICE file, excluding those notices that do not
110
- pertain to any part of the Derivative Works, in at least one
111
- of the following places: within a NOTICE text file distributed
112
- as part of the Derivative Works; within the Source form or
113
- documentation, if provided along with the Derivative Works; or,
114
- within a display generated by the Derivative Works, if and
115
- wherever such third-party notices normally appear. The contents
116
- of the NOTICE file are for informational purposes only and
117
- do not modify the License. You may add Your own attribution
118
- notices within Derivative Works that You distribute, alongside
119
- or as an addendum to the NOTICE text from the Work, provided
120
- that such additional attribution notices cannot be construed
121
- as modifying the License.
122
-
123
- You may add Your own copyright statement to Your modifications and
124
- may provide additional or different license terms and conditions
125
- for use, reproduction, or distribution of Your modifications, or
126
- for any such Derivative Works as a whole, provided Your use,
127
- reproduction, and distribution of the Work otherwise complies with
128
- the conditions stated in this License.
129
-
130
- 5. Submission of Contributions. Unless You explicitly state otherwise,
131
- any Contribution intentionally submitted for inclusion in the Work
132
- by You to the Licensor shall be under the terms and conditions of
133
- this License, without any additional terms or conditions.
134
- Notwithstanding the above, nothing herein shall supersede or modify
135
- the terms of any separate license agreement you may have executed
136
- with Licensor regarding such Contributions.
137
-
138
- 6. Trademarks. This License does not grant permission to use the trade
139
- names, trademarks, service marks, or product names of the Licensor,
140
- except as required for reasonable and customary use in describing the
141
- origin of the Work and reproducing the content of the NOTICE file.
142
-
143
- 7. Disclaimer of Warranty. Unless required by applicable law or
144
- agreed to in writing, Licensor provides the Work (and each
145
- Contributor provides its Contributions) on an "AS IS" BASIS,
146
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
147
- implied, including, without limitation, any warranties or conditions
148
- of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
149
- PARTICULAR PURPOSE. You are solely responsible for determining the
150
- appropriateness of using or redistributing the Work and assume any
151
- risks associated with Your exercise of permissions under this License.
152
-
153
- 8. Limitation of Liability. In no event and under no legal theory,
154
- whether in tort (including negligence), contract, or otherwise,
155
- unless required by applicable law (such as deliberate and grossly
156
- negligent acts) or agreed to in writing, shall any Contributor be
157
- liable to You for damages, including any direct, indirect, special,
158
- incidental, or consequential damages of any character arising as a
159
- result of this License or out of the use or inability to use the
160
- Work (including but not limited to damages for loss of goodwill,
161
- work stoppage, computer failure or malfunction, or any and all
162
- other commercial damages or losses), even if such Contributor
163
- has been advised of the possibility of such damages.
164
-
165
- 9. Accepting Warranty or Additional Liability. While redistributing
166
- the Work or Derivative Works thereof, You may choose to offer,
167
- and charge a fee for, acceptance of support, warranty, indemnity,
168
- or other liability obligations and/or rights consistent with this
169
- License. However, in accepting such obligations, You may act only
170
- on Your own behalf and on Your sole responsibility, not on behalf
171
- of any other Contributor, and only if You agree to indemnify,
172
- defend, and hold each Contributor harmless for any liability
173
- incurred by, or claims asserted against, such Contributor by reason
174
- of your accepting any such warranty or additional liability.
175
-
176
- END OF TERMS AND CONDITIONS
177
-
178
- APPENDIX: How to apply the Apache License to your work.
179
-
180
- To apply the Apache License to your work, attach the following
181
- boilerplate notice, with the fields enclosed by brackets "[]"
182
- replaced with your own identifying information. (Don't include
183
- the brackets!) The text should be enclosed in the appropriate
184
- comment syntax for the file format. We also recommend that a
185
- file or class name and description of purpose be included on the
186
- same "printed page" as the copyright notice for easier
187
- identification within third-party archives.
188
-
189
- Copyright [yyyy] [name of copyright owner]
190
-
191
- Licensed under the Apache License, Version 2.0 (the "License");
192
- you may not use this file except in compliance with the License.
193
- You may obtain a copy of the License at
194
-
195
- http://www.apache.org/licenses/LICENSE-2.0
196
-
197
- Unless required by applicable law or agreed to in writing, software
198
- distributed under the License is distributed on an "AS IS" BASIS,
199
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
200
- See the License for the specific language governing permissions and
201
- limitations under the License.