├── README.md ├── allman ├── distro └── PKGBUILD ├── documentation └── man │ └── man3 │ ├── ef__home_vbextreme_Project_c_EasyFramework_include_.3 │ ├── ef__home_vbextreme_Project_c_EasyFramework_include_ef_.3 │ ├── ef_argdef.3 │ ├── ef_config.h.3 │ ├── ef_configTrie.3 │ ├── ef_deadpoll.3 │ ├── ef_deadpoll.h.3 │ ├── ef_delay.h.3 │ ├── ef_eerr.3 │ ├── ef_err.h.3 │ ├── ef_esnet4.3 │ ├── ef_esnet6.3 │ ├── ef_esocket.3 │ ├── ef_esport.3 │ ├── ef_esunix.3 │ ├── ef_event.3 │ ├── ef_file.h.3 │ ├── ef_filetmp.3 │ ├── ef_ft.h.3 │ ├── ef_ftFont.3 │ ├── ef_ftFonts.3 │ ├── ef_ftRender.3 │ ├── ef_ftUtfCustom.3 │ ├── ef_ftp.3 │ ├── ef_ftp.h.3 │ ├── ef_ftpStat.3 │ ├── ef_fzs.h.3 │ ├── ef_fzsElement.3 │ ├── ef_g2dCoord.3 │ ├── ef_g2dImage.3 │ ├── ef_g2dPoint.3 │ ├── ef_gif.3 │ ├── ef_gifFrame.3 │ ├── ef_gnn.3 │ ├── ef_gnn.h.3 │ ├── ef_gui.3 │ ├── ef_gui.h.3 │ ├── ef_guiBar.3 │ ├── ef_guiBar.h.3 │ ├── ef_guiButton.3 │ ├── ef_guiButton.h.3 │ ├── ef_guiCaption.3 │ ├── ef_guiCaption.h.3 │ ├── ef_guiComposite.3 │ ├── ef_guiDiv.3 │ ├── ef_guiDiv.h.3 │ ├── ef_guiDivCols.3 │ ├── ef_guiDivRow.3 │ ├── ef_guiImage.h.3 │ ├── ef_guiLabel.3 │ ├── ef_guiLabel.h.3 │ ├── ef_guiLayer.3 │ ├── ef_guiLayerPercentage.3 │ ├── ef_guiMargin.3 │ ├── ef_guiOption.3 │ ├── ef_guiOptionBox.h.3 │ ├── ef_guiPosition.3 │ ├── ef_guiResource.3 │ ├── ef_guiResources.h.3 │ ├── ef_guiRound.3 │ ├── ef_guiScene.3 │ ├── ef_guiSimple.h.3 │ ├── ef_guiSimpleMsgBoxButtons.3 │ ├── ef_guiText.3 │ ├── ef_guiText.h.3 │ ├── ef_guiTimer_s.3 │ ├── ef_http.3 │ ├── ef_http.h.3 │ ├── ef_httpPost.3 │ ├── ef_image.h.3 │ ├── ef_imageBmp.h.3 │ ├── ef_imageFiles.h.3 │ ├── ef_imageGif.h.3 │ ├── ef_imageJpeg.h.3 │ ├── ef_imagePng.h.3 │ ├── ef_imageSvg.h.3 │ ├── ef_imap.3 │ ├── ef_imap.h.3 │ ├── ef_imapExamine.3 │ ├── ef_imapFetch.3 │ ├── ef_imapMime.3 │ ├── ef_imapMimeContent.3 │ ├── ef_json.3 │ ├── ef_json.h.3 │ ├── ef_kbData.3 │ ├── ef_list.h.3 │ ├── ef_listDouble.3 │ ├── ef_listSimple.3 │ ├── ef_media.h.3 │ ├── ef_memInfo.3 │ ├── ef_memory.h.3 │ ├── ef_message.3 │ ├── ef_monitor.3 │ ├── ef_mth.h.3 │ ├── ef_mutex.3 │ ├── ef_netDev.3 │ ├── ef_oauth.h.3 │ ├── ef_oauth2.3 │ ├── ef_oauth2Authorization.3 │ ├── ef_optex.h.3 │ ├── ef_os.h.3 │ ├── ef_phq.3 │ ├── ef_phq.h.3 │ ├── ef_phqElement.3 │ ├── ef_pidStat.3 │ ├── ef_pollEvent.3 │ ├── ef_powerstate.3 │ ├── ef_proc.h.3 │ ├── ef_promise.3 │ ├── ef_promise.h.3 │ ├── ef_pty.h.3 │ ├── ef_qmessages.3 │ ├── ef_rbhash.3 │ ├── ef_rbhash.h.3 │ ├── ef_rbhashElement.3 │ ├── ef_rbuffer.3 │ ├── ef_rbuffer.h.3 │ ├── ef_regex.3 │ ├── ef_regex.h.3 │ ├── ef_semaphore.3 │ ├── ef_sig.h.3 │ ├── ef_socket.h.3 │ ├── ef_spawn.h.3 │ ├── ef_str.h.3 │ ├── ef_stream.3 │ ├── ef_streamBuffer.3 │ ├── ef_svg.3 │ ├── ef_sys.h.3 │ ├── ef_term.h.3 │ ├── ef_termInfo.3 │ ├── ef_termKey.3 │ ├── ef_termMouse_s.3 │ ├── ef_termRLArea.3 │ ├── ef_termRLCursor.3 │ ├── ef_termRLText.3 │ ├── ef_termReadLine.3 │ ├── ef_termcapstr.h.3 │ ├── ef_terminfo.h.3 │ ├── ef_terminput.h.3 │ ├── ef_termkey.h.3 │ ├── ef_termlink.h.3 │ ├── ef_termmode.h.3 │ ├── ef_termreadline.h.3 │ ├── ef_thr.3 │ ├── ef_threads.h.3 │ ├── ef_tiData.3 │ ├── ef_tidatabase.3 │ ├── ef_tidbextend.3 │ ├── ef_tidbheader.3 │ ├── ef_tig.h.3 │ ├── ef_tigProgress.3 │ ├── ef_tls.3 │ ├── ef_tlsSession.3 │ ├── ef_trie.3 │ ├── ef_trie.h.3 │ ├── ef_trieElement.3 │ ├── ef_tui.3 │ ├── ef_tui.h.3 │ ├── ef_tuiButton.3 │ ├── ef_tuiButton.h.3 │ ├── ef_tuiLabel.3 │ ├── ef_tuiLabel.h.3 │ ├── ef_tuiList.3 │ ├── ef_tuiList.h.3 │ ├── ef_tuiListElement.3 │ ├── ef_tuiPosition.3 │ ├── ef_tuiRoot.3 │ ├── ef_tuiRoot.h.3 │ ├── ef_tuiSize.3 │ ├── ef_tuiText.h.3 │ ├── ef_tuiWindow.3 │ ├── ef_tuiWindow.h.3 │ ├── ef_tvariable.3 │ ├── ef_type.h.3 │ ├── ef_utf8.h.3 │ ├── ef_utf8Iterator.3 │ ├── ef_valign.3 │ ├── ef_vector.3 │ ├── ef_vector.h.3 │ ├── ef_vectorization.h.3 │ ├── ef_www.3 │ ├── ef_www.h.3 │ ├── ef_wwwBuffer_s.3 │ ├── ef_wwwProgress.3 │ ├── ef_xkb.3 │ ├── ef_xorg.3 │ ├── ef_xorg.h.3 │ ├── ef_xorgClient.3 │ ├── ef_xorgClipboard.3 │ ├── ef_xorgCreate.3 │ ├── ef_xorgDraw.3 │ ├── ef_xorgEvent.3 │ ├── ef_xorgFocus.3 │ ├── ef_xorgKeyboard.3 │ ├── ef_xorgMouse.3 │ ├── ef_xorgMove.3 │ ├── ef_xorgProperty.3 │ ├── ef_xorgSurface.3 │ ├── ef_xorgUserData.3 │ ├── ef_xorgVisible.3 │ ├── ef_xorgWindow.3 │ ├── ef_xorgWindowStrut.3 │ └── ef_xorgWindowStrutPartial.3 ├── doxy.conf ├── ef-term-extend └── e │ └── ef-term-extend ├── ef ├── concurrency │ ├── promise.c │ └── threads.c ├── datastructure │ ├── fzs.c │ ├── hashalg.c │ ├── list.c │ ├── phq.c │ ├── rbhash.c │ ├── rbuffer.c │ ├── trie.c │ └── vector.c ├── err │ └── err.c ├── file │ ├── config.c │ ├── deadpoll.c │ ├── dir.c │ ├── fd.c │ ├── file.c │ ├── gz.c │ ├── path.c │ ├── stream.c │ └── tar.c ├── graphics │ ├── ft.c │ ├── gui.c │ ├── guiBar.c │ ├── guiButton.c │ ├── guiCaption.c │ ├── guiDiv.c │ ├── guiImage.c │ ├── guiLabel.c │ ├── guiOptionBox.c │ ├── guiResources.c │ ├── guiSimple.c │ ├── guiText.c │ ├── image.c │ ├── imageBmp.c │ ├── imageFiles.c │ ├── imageGif.c │ ├── imageJpeg.c │ ├── imagePng.c │ ├── imageSvg.c │ ├── media.c │ ├── qdbmp.c │ ├── qdbmp.h │ └── xorg.c ├── math │ ├── gnn.c │ └── math.c ├── memory │ ├── heap.c │ ├── memory.c │ ├── protect.c │ └── shared.c ├── opt │ └── optex.c ├── os │ ├── inutility.c │ ├── proc.c │ ├── signal.c │ ├── spawn.c │ ├── sys.c │ └── vectorization.c ├── parser │ └── json.c ├── string │ ├── regex.c │ ├── string.c │ └── utf8.c ├── term │ ├── pty.c │ ├── terminfo.c │ ├── terminput.c │ ├── termlink.c │ ├── termmode.c │ ├── termreadline.c │ ├── titostring.h │ ├── tui.c │ ├── tuiButton.c │ ├── tuiLabel.c │ ├── tuiList.c │ ├── tuiRoot.c │ ├── tuiText.c │ └── tuiWindow.c ├── times │ └── delay.c └── www │ ├── ftp.c │ ├── http.c │ ├── imap.c │ ├── oauth.c │ ├── socket.c │ ├── tig.c │ └── www.c ├── gendoc ├── include └── ef │ ├── config.h │ ├── deadpoll.h │ ├── delay.h │ ├── err.h │ ├── file.h │ ├── ft.h │ ├── ftp.h │ ├── fzs.h │ ├── gnn.h │ ├── gui.h │ ├── guiBar.h │ ├── guiButton.h │ ├── guiCaption.h │ ├── guiDiv.h │ ├── guiImage.h │ ├── guiLabel.h │ ├── guiOptionBox.h │ ├── guiResources.h │ ├── guiSimple.h │ ├── guiText.h │ ├── http.h │ ├── image.h │ ├── imageBmp.h │ ├── imageFiles.h │ ├── imageGif.h │ ├── imageJpeg.h │ ├── imagePng.h │ ├── imageSvg.h │ ├── imap.h │ ├── json.h │ ├── list.h │ ├── media.h │ ├── memory.h │ ├── mth.h │ ├── oauth.h │ ├── optex.h │ ├── os.h │ ├── phq.h │ ├── proc.h │ ├── promise.h │ ├── pty.h │ ├── rbhash.h │ ├── rbuffer.h │ ├── regex.h │ ├── sig.h │ ├── socket.h │ ├── spawn.h │ ├── str.h │ ├── sys.h │ ├── term.h │ ├── termcapstr.h │ ├── terminfo.h │ ├── terminput.h │ ├── termkey.h │ ├── termlink.h │ ├── termmode.h │ ├── termreadline.h │ ├── threads.h │ ├── tig.h │ ├── trie.h │ ├── tui.h │ ├── tuiButton.h │ ├── tuiLabel.h │ ├── tuiList.h │ ├── tuiRoot.h │ ├── tuiText.h │ ├── tuiWindow.h │ ├── type.h │ ├── utf8.h │ ├── vector.h │ ├── vectorization.h │ ├── www.h │ └── xorg.h ├── meson.build ├── meson_options.txt ├── scan-build.test ├── test ├── config.test ├── gencode ├── jsontest │ ├── invalid │ │ ├── ag_false_then_garbage.json │ │ ├── ag_null_then_garbage.json │ │ ├── ag_true_then_garbage.json │ │ ├── am_eof.json │ │ ├── am_integers.json │ │ ├── am_multiple.json │ │ ├── am_stuff.json │ │ ├── ap_array_open.json │ │ ├── ap_eof_str.json │ │ ├── ap_map_open.json │ │ ├── ap_partial_ok.json │ │ ├── apostrophe.json │ │ ├── array.json │ │ ├── array_close.json │ │ ├── ascii-unicode-identifier.json │ │ ├── bogus_char.json │ │ ├── brace-comma.json │ │ ├── bracket-comma.json │ │ ├── bracket-one-comma.json │ │ ├── deep_arrays.json │ │ ├── empty-array.json │ │ ├── empty-object-in-array.json │ │ ├── empty-object.json │ │ ├── empty_array.json │ │ ├── ext-invalid-0001.json │ │ ├── ext-invalid-0002.json │ │ ├── ext-valid-0001.json │ │ ├── ext-valid-0002.json │ │ ├── ext-valid-0003.json │ │ ├── extra-comma-in-array.json │ │ ├── extra-comma-in-multiline-array.json │ │ ├── fg_false_then_garbage.json │ │ ├── fg_issue_7.json │ │ ├── fg_null_then_garbage.json │ │ ├── fg_true_then_garbage.json │ │ ├── garbage-after-newline.json │ │ ├── garbage-at-the-end.json │ │ ├── high_overflow.json │ │ ├── integer-starting-with-zero.json │ │ ├── invalid-0001.json │ │ ├── invalid-0002.json │ │ ├── invalid-0003.json │ │ ├── invalid-0004.json │ │ ├── invalid-0005.json │ │ ├── invalid-0006.json │ │ ├── invalid-0007.json │ │ ├── invalid-0008.json │ │ ├── invalid-0009.json │ │ ├── invalid-0010.json │ │ ├── invalid-1.json │ │ ├── invalid-escape.json │ │ ├── invalid-identifier.json │ │ ├── invalid-negative-integer.json │ │ ├── invalid-negative-real.json │ │ ├── invalid-second-surrogate.json │ │ ├── invalid-unicode-escape.json │ │ ├── invalid_utf8.json │ │ ├── isolated_surrogate_marker.json │ │ ├── leading_zero_in_number.json │ │ ├── lone-open-brace.json │ │ ├── lone-open-bracket.json │ │ ├── lone-second-surrogate.json │ │ ├── lonely_minus_sign.json │ │ ├── map_close.json │ │ ├── minus-sign-without-number.json │ │ ├── missing_integer_after_decimal_point.json │ │ ├── missing_integer_after_exponent.json │ │ ├── multiple.json │ │ ├── negative-integer-starting-with-zero.json │ │ ├── non_utf8_char_in_string.json │ │ ├── np_partial_bad.json │ │ ├── null-byte-in-object-key.json │ │ ├── null-byte-in-string.json │ │ ├── null-byte-outside-string.json │ │ ├── null-escape-in-string.json │ │ ├── object-apostrophes.json │ │ ├── object-garbage-at-end.json │ │ ├── object-in-unterminated-array.json │ │ ├── object-no-colon.json │ │ ├── object-no-value.json │ │ ├── object-unterminated-value.json │ │ ├── real-garbage-after-e.json │ │ ├── real-negative-overflow.json │ │ ├── real-positive-overflow.json │ │ ├── real-subnormal-number.json │ │ ├── real-truncated-at-e.json │ │ ├── real-truncated-at-point.json │ │ ├── real-underflow.json │ │ ├── recursion-depth.json │ │ ├── simple-object.json │ │ ├── string_invalid_escape.json │ │ ├── string_invalid_hex_char.json │ │ ├── string_with_escapes.json │ │ ├── string_with_invalid_newline.json │ │ ├── tab-character-in-string.json │ │ ├── too-big-negative-integer.json │ │ ├── too-big-positive-integer.json │ │ ├── unicode-identifier.json │ │ ├── unterminated-array-and-object.json │ │ ├── unterminated-array.json │ │ ├── unterminated-empty-key.json │ │ ├── unterminated-key.json │ │ ├── unterminated-object-and-array.json │ │ └── unterminated-string.json │ ├── todotest │ │ └── truncated-unicode-surrogate.json │ └── valid │ │ ├── bignums.json │ │ ├── codepoints_from_unicode_org.json │ │ ├── complex-array.json │ │ ├── difficult_json_c_test_case.json │ │ ├── doubles.json │ │ ├── doubles_in_array.json │ │ ├── empty-string.json │ │ ├── empty_string.json │ │ ├── escaped_bulgarian.json │ │ ├── escaped_foobar.json │ │ ├── false.json │ │ ├── four_byte_utf8.json │ │ ├── integers.json │ │ ├── lonely_number.json │ │ ├── low_overflow.json │ │ ├── negative-int.json │ │ ├── negative-one.json │ │ ├── negative-zero.json │ │ ├── null.json │ │ ├── nulls_and_bools.json │ │ ├── nulls_and_bools2.json │ │ ├── one-byte-utf-8.json │ │ ├── real-capital-e-negative-exponent.json │ │ ├── real-capital-e-positive-exponent.json │ │ ├── real-capital-e.json │ │ ├── real-exponent.json │ │ ├── real-fraction-exponent.json │ │ ├── real-negative-exponent.json │ │ ├── real-positive-exponent.json │ │ ├── short-string.json │ │ ├── simple-ascii-string.json │ │ ├── simple-int-0.json │ │ ├── simple-int-1.json │ │ ├── simple-int-123.json │ │ ├── simple-real.json │ │ ├── simple.json │ │ ├── string-escapes.json │ │ ├── three-byte-utf-8.json │ │ ├── three_byte_utf8.json │ │ ├── true.json │ │ ├── two-byte-utf-8.json │ │ ├── unescaped_bulgarian.json │ │ ├── utf-8-string.json │ │ ├── utf-surrogate-four-byte-encoding.json │ │ ├── valid-0000.json │ │ ├── valid-0001.json │ │ ├── valid-0002.json │ │ ├── valid-0003.json │ │ ├── valid-0004.json │ │ ├── valid-0005.json │ │ ├── valid-0006.json │ │ ├── valid-0007.json │ │ ├── valid-0008.json │ │ ├── valid-0009.json │ │ ├── valid-0010.json │ │ ├── valid-0011.json │ │ └── valid-0012.json ├── meson.bash ├── meson.build ├── meson_options.txt ├── src │ ├── autogen.h │ ├── code.c │ ├── data.c │ ├── err.c │ ├── file.c │ ├── ftp.c │ ├── fuzzys.c │ ├── gui.c │ ├── hash.c │ ├── imap.c │ ├── json.c │ ├── main.c │ ├── mem.c │ ├── mnist.c │ ├── mth.c │ ├── oauth.c │ ├── os.c │ ├── promise.c │ ├── rbhash.c │ ├── socket.c │ ├── str.c │ ├── term.c │ ├── test.h │ ├── thr.c │ ├── trie.c │ └── vector.c ├── tls │ ├── gentool.x509 │ └── openssl.x509 └── valgrind.test └── ti └── ef-term-extend.ti /README.md: -------------------------------------------------------------------------------- 1 | EasyFramework v1.3.1 2 | ==================== 3 | Little framework created during the study of language c.
4 | 5 | State: 6 | ====== 7 | * 1.3.1 accidental remove typedef 8 | * 1.3.0 gui:new control, thr, g2d 9 | * 1.2.5 workaround media seek, av_seek not working 10 | * 1.2.4 fix aur, media.seek but not working 11 | * 1.2.3 test and fix 12 | * 1.2.2 fix 13 | * 1.2.1 graphics docs 14 | * 1.2.0 introduce graphics 15 | * 1.1.1 retry aur 16 | * 1.1.0 add terminal function 17 | * 1.0.0 full documentated, complete revision code 18 | * 0.4.3 add fix gcc bug 19 | * 0.4.2 resolve man 20 | * 0.4.1 Create man documentation (easyframework easytype easyalloc easybenchmark easyconsole easycrypto) 21 | 22 | Bug: 23 | ==== 24 | 25 | Require Developer version of: 26 | ======== 27 | tic
28 | libm
29 | libdl
30 | librt
31 | libpcre2-8
32 | libunistring
33 | libtar
34 | zlib
35 | gnutls
36 | pthread
37 | curl
38 | libgit2
39 | libpng
40 | libjpeg
41 | libgif
42 | librsvg-2.0
43 | gnutls
44 | libcurl
45 | libavcodec
46 | libavdevice
47 | libavfilter
48 | libavformat
49 | libavutil
50 | libswresample
51 | libswscale
52 | freetype2
53 | fontconfig
54 | xcb
55 | xcb-xrm
56 | xcb-composite
57 | xcb-util
58 | xcb-image
59 | xcb-randr
60 | xcb-shape
61 | xkbcommon
62 | xkbcommon-x11
63 | 64 | To install it: 65 | ============== 66 | ``` 67 | $ meson build 68 | $ cd build 69 | $ ninja 70 | $ sudo ninja install 71 | ``` 72 | 73 | Doc: 74 | ================ 75 | install graphviz for doc graph 76 | ``` 77 | $ ./gendoc 78 | ``` 79 | 80 | To uninstall it: 81 | ============== 82 | 83 | -------------------------------------------------------------------------------- /allman: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | for M in documentation/man/man3/*; do 4 | echo $M 5 | done 6 | -------------------------------------------------------------------------------- /distro/PKGBUILD: -------------------------------------------------------------------------------- 1 | # Maintainer: Vbextreme <@> 2 | # Contributor: Vbextreme <@> 3 | pkgname=('easyframework') 4 | pkgdesc='another C framework' 5 | pkgver='1.3.1' 6 | pkgrel=1 7 | arch=('x86_64') 8 | url='https://github.com/vbextreme/EasyFramework' 9 | source=("${pkgname}-${pkgver}.tar.gz"::"https://github.com/vbextreme/EasyFramework/archive/v${pkgver}.tar.gz") 10 | license=('GPL3') 11 | sha256sums=('SKIP') 12 | makedepends=('meson' 'ncurses') 13 | depends=('pcre2' 'libunistring' 'libtar' 'zlib' 'gnutls' 'curl' 'libgit2' 'libpng' 'libjpeg-turbo' 'librsvg' 'giflib' 'ffmpeg' 'freetype2' 'fontconfig' 'libxcb' 'xcb-util' 'xcb-util-wm' 'xcb-util-image' 'xcb-util-errors' 'xcb-util-xrm' 'libxkbcommon' 'libxkbcommon-x11') 14 | 15 | prepare() { 16 | cd "EasyFramework-${pkgver}" 17 | meson build -Dprefix=/usr -Dterminfo=share/terminfo 18 | } 19 | 20 | build() { 21 | cd "EasyFramework-${pkgver}/build" 22 | ninja 23 | } 24 | 25 | package() { 26 | cd "EasyFramework-${pkgver}/build" 27 | DESTDIR="$pkgdir" ninja install 28 | } 29 | 30 | -------------------------------------------------------------------------------- /documentation/man/man3/ef__home_vbextreme_Project_c_EasyFramework_include_.3: -------------------------------------------------------------------------------- 1 | .TH "include Directory Reference" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | include Directory Reference 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .SS "Directories" 10 | 11 | .in +1c 12 | .ti -1c 13 | .RI "directory \fBef\fP" 14 | .br 15 | .in -1c 16 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_argdef.3: -------------------------------------------------------------------------------- 1 | .TH "argdef" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | argdef 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBhasset\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBvshort\fP" 19 | .br 20 | .ti -1c 21 | .RI "char * \fBvlong\fP" 22 | .br 23 | .ti -1c 24 | .RI "\fBargdef_e\fP \fBtypeParam\fP" 25 | .br 26 | .ti -1c 27 | .RI "void * \fBautoset\fP" 28 | .br 29 | .ti -1c 30 | .RI "char * \fBdescript\fP" 31 | .br 32 | .in -1c 33 | .SH "Detailed Description" 34 | .PP 35 | Definition at line 14 of file optex\&.h\&. 36 | .SH "Field Documentation" 37 | .PP 38 | .SS "void* argdef::autoset" 39 | automatic assign value 40 | .PP 41 | Definition at line 19 of file optex\&.h\&. 42 | .SS "char* argdef::descript" 43 | descript of argument 44 | .PP 45 | Definition at line 20 of file optex\&.h\&. 46 | .SS "int argdef::hasset" 47 | argument is setting 48 | .PP 49 | Definition at line 15 of file optex\&.h\&. 50 | .SS "\fBargdef_e\fP argdef::typeParam" 51 | 52 | .PP 53 | \fBSee also\fP 54 | .RS 4 55 | \fBargdef_e\fP 56 | .RE 57 | .PP 58 | 59 | .PP 60 | Definition at line 18 of file optex\&.h\&. 61 | .SS "char* argdef::vlong" 62 | long format value 63 | .PP 64 | Definition at line 17 of file optex\&.h\&. 65 | .SS "int argdef::vshort" 66 | short format value 67 | .PP 68 | Definition at line 16 of file optex\&.h\&. 69 | 70 | .SH "Author" 71 | .PP 72 | Generated automatically by Doxygen for Easy Framework from the source code\&. 73 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_configTrie.3: -------------------------------------------------------------------------------- 1 | .TH "configTrie" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | configTrie 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBconfig_f\fP \fBfn\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBtype\fP" 19 | .br 20 | .ti -1c 21 | .RI "void * \fBuserdata\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 12 of file config\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "\fBconfig_f\fP configTrie::fn" 30 | 31 | .PP 32 | Definition at line 13 of file config\&.h\&. 33 | .SS "int configTrie::type" 34 | callback for each config, return CONFF_ERROR for terminate reading config file, return CONFF_GRAB_VALUE for not free a value 35 | .PP 36 | Definition at line 14 of file config\&.h\&. 37 | .SS "void* configTrie::userdata" 38 | user type definition 39 | .PP 40 | Definition at line 15 of file config\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_deadpoll.3: -------------------------------------------------------------------------------- 1 | .TH "deadpoll" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | deadpoll 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBpollEvent_s\fP * \fBevents\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBpollfd\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBnevents\fP" 22 | .br 23 | .ti -1c 24 | .RI "\fBpollCbk_f\fP \fBtimeout\fP" 25 | .br 26 | .ti -1c 27 | .RI "void * \fBtimeoutarg\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 31 of file deadpoll\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "\fBpollEvent_s\fP* deadpoll::events" 36 | 37 | .PP 38 | Definition at line 32 of file deadpoll\&.h\&. 39 | .SS "size_t deadpoll::nevents" 40 | 41 | .PP 42 | Definition at line 34 of file deadpoll\&.h\&. 43 | .SS "int deadpoll::pollfd" 44 | 45 | .PP 46 | Definition at line 33 of file deadpoll\&.h\&. 47 | .SS "\fBpollCbk_f\fP deadpoll::timeout" 48 | 49 | .PP 50 | Definition at line 35 of file deadpoll\&.h\&. 51 | .SS "void* deadpoll::timeoutarg" 52 | 53 | .PP 54 | Definition at line 36 of file deadpoll\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_eerr.3: -------------------------------------------------------------------------------- 1 | .TH "eerr" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | eerr 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "char * \fBdescript\fP" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBsize\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBlen\fP" 22 | .br 23 | .ti -1c 24 | .RI "size_t \fBflags\fP" 25 | .br 26 | .ti -1c 27 | .RI "size_t * \fBrestore\fP" 28 | .br 29 | .ti -1c 30 | .RI "size_t \fBrc\fP" 31 | .br 32 | .ti -1c 33 | .RI "size_t \fBrsz\fP" 34 | .br 35 | .in -1c 36 | .SH "Detailed Description" 37 | .PP 38 | Definition at line 7 of file err\&.h\&. 39 | .SH "Field Documentation" 40 | .PP 41 | .SS "char* eerr::descript" 42 | 43 | .PP 44 | Definition at line 8 of file err\&.h\&. 45 | .SS "size_t eerr::flags" 46 | 47 | .PP 48 | Definition at line 11 of file err\&.h\&. 49 | .SS "size_t eerr::len" 50 | 51 | .PP 52 | Definition at line 10 of file err\&.h\&. 53 | .SS "size_t eerr::rc" 54 | 55 | .PP 56 | Definition at line 13 of file err\&.h\&. 57 | .SS "size_t* eerr::restore" 58 | 59 | .PP 60 | Definition at line 12 of file err\&.h\&. 61 | .SS "size_t eerr::rsz" 62 | 63 | .PP 64 | Definition at line 14 of file err\&.h\&. 65 | .SS "size_t eerr::size" 66 | 67 | .PP 68 | Definition at line 9 of file err\&.h\&. 69 | 70 | .SH "Author" 71 | .PP 72 | Generated automatically by Doxygen for Easy Framework from the source code\&. 73 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_esnet4.3: -------------------------------------------------------------------------------- 1 | .TH "esnet4" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | esnet4 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "struct sockaddr_in \fBaddr\fP" 16 | .br 17 | .in -1c 18 | .SH "Detailed Description" 19 | .PP 20 | Definition at line 59 of file socket\&.h\&. 21 | .SH "Field Documentation" 22 | .PP 23 | .SS "struct sockaddr_in esnet4::addr" 24 | 25 | .PP 26 | Definition at line 51 of file socket\&.h\&. 27 | 28 | .SH "Author" 29 | .PP 30 | Generated automatically by Doxygen for Easy Framework from the source code\&. 31 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_esnet6.3: -------------------------------------------------------------------------------- 1 | .TH "esnet6" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | esnet6 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "struct sockaddr_in6 \fBaddr\fP" 16 | .br 17 | .in -1c 18 | .SH "Detailed Description" 19 | .PP 20 | Definition at line 63 of file socket\&.h\&. 21 | .SH "Field Documentation" 22 | .PP 23 | .SS "struct sockaddr_in6 esnet6::addr" 24 | 25 | .PP 26 | Definition at line 51 of file socket\&.h\&. 27 | 28 | .SH "Author" 29 | .PP 30 | Generated automatically by Doxygen for Easy Framework from the source code\&. 31 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_esport.3: -------------------------------------------------------------------------------- 1 | .TH "esport" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | esport 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "const char * \fBname\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBport\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 35 of file socket\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "const char* esport::name" 27 | 28 | .PP 29 | Definition at line 36 of file socket\&.h\&. 30 | .SS "int esport::port" 31 | 32 | .PP 33 | Definition at line 37 of file socket\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_esunix.3: -------------------------------------------------------------------------------- 1 | .TH "esunix" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | esunix 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "struct ucred \fBcredentials\fP" 16 | .br 17 | .ti -1c 18 | .RI "struct sockaddr_un \fBaddr\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 54 of file socket\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "struct sockaddr_un esunix::addr" 27 | 28 | .PP 29 | Definition at line 51 of file socket\&.h\&. 30 | .SS "struct ucred esunix::credentials" 31 | 32 | .PP 33 | Definition at line 51 of file socket\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_event.3: -------------------------------------------------------------------------------- 1 | .TH "event" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | event 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBfutex\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBprivate\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 107 of file threads\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "int event::futex" 27 | 28 | .PP 29 | Definition at line 108 of file threads\&.h\&. 30 | .SS "int event::private" 31 | 32 | .PP 33 | Definition at line 109 of file threads\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_filetmp.3: -------------------------------------------------------------------------------- 1 | .TH "filetmp" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | filetmp 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "char \fBname\fP [PATH_MAX]" 16 | .br 17 | .ti -1c 18 | .RI "int \fBfd\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 24 of file file\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "int filetmp::fd" 27 | 28 | .PP 29 | Definition at line 26 of file file\&.h\&. 30 | .SS "char filetmp::name[PATH_MAX]" 31 | tmp file name 32 | .PP 33 | Definition at line 25 of file file\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_ftFonts.3: -------------------------------------------------------------------------------- 1 | .TH "ftFonts" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | ftFonts 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "char * \fBgroupName\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBftFont_s\fP * \fBfont\fP" 19 | .br 20 | .ti -1c 21 | .RI "\fBrbhash_s\fP * \fBcharmap\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 45 of file ft\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "\fBrbhash_s\fP* ftFonts::charmap" 30 | 31 | .PP 32 | Definition at line 48 of file ft\&.h\&. 33 | .SS "\fBftFont_s\fP* ftFonts::font" 34 | first is font, sucessive is fallback 35 | .PP 36 | Definition at line 47 of file ft\&.h\&. 37 | .SS "char* ftFonts::groupName" 38 | name of fonts group 39 | .PP 40 | Definition at line 46 of file ft\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_ftUtfCustom.3: -------------------------------------------------------------------------------- 1 | .TH "ftUtfCustom" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | ftUtfCustom 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fButf_t\fP \fButf\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBftUtfCustom_f\fP \fBfn\fP" 19 | .br 20 | .ti -1c 21 | .RI "void * \fBuserdata\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 53 of file ft\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "\fBftUtfCustom_f\fP ftUtfCustom::fn" 30 | 31 | .PP 32 | Definition at line 55 of file ft\&.h\&. 33 | .SS "void* ftUtfCustom::userdata" 34 | 35 | .PP 36 | Definition at line 56 of file ft\&.h\&. 37 | .SS "\fButf_t\fP ftUtfCustom::utf" 38 | 39 | .PP 40 | Definition at line 54 of file ft\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_ftp.3: -------------------------------------------------------------------------------- 1 | .TH "ftp" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | ftp 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBwww_s\fP \fBwww\fP" 16 | .br 17 | .ti -1c 18 | .RI "char * \fBsite\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBlenSite\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 20 of file ftp\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "size_t ftp::lenSite" 30 | 31 | .PP 32 | Definition at line 23 of file ftp\&.h\&. 33 | .SS "char* ftp::site" 34 | 35 | .PP 36 | Definition at line 22 of file ftp\&.h\&. 37 | .SS "\fBwww_s\fP ftp::www" 38 | 39 | .PP 40 | Definition at line 21 of file ftp\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_ftpStat.3: -------------------------------------------------------------------------------- 1 | .TH "ftpStat" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | ftpStat 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "char * \fBname\fP" 16 | .br 17 | .ti -1c 18 | .RI "char * \fBlink\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBsize\fP" 22 | .br 23 | .ti -1c 24 | .RI "time_t \fBtime\fP" 25 | .br 26 | .ti -1c 27 | .RI "int \fBmode\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 12 of file ftp\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "char* ftpStat::link" 36 | 37 | .PP 38 | Definition at line 14 of file ftp\&.h\&. 39 | .SS "int ftpStat::mode" 40 | 41 | .PP 42 | Definition at line 17 of file ftp\&.h\&. 43 | .SS "char* ftpStat::name" 44 | 45 | .PP 46 | Definition at line 13 of file ftp\&.h\&. 47 | .SS "size_t ftpStat::size" 48 | 49 | .PP 50 | Definition at line 15 of file ftp\&.h\&. 51 | .SS "time_t ftpStat::time" 52 | 53 | .PP 54 | Definition at line 16 of file ftp\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_fzsElement.3: -------------------------------------------------------------------------------- 1 | .TH "fzsElement" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | fzsElement 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "const char * \fBstr\fP" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBlen\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBdistance\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | structure to use in vector for fzs qsort 27 | .PP 28 | Definition at line 8 of file fzs\&.h\&. 29 | .SH "Field Documentation" 30 | .PP 31 | .SS "size_t fzsElement::distance" 32 | laste distance calcolate 33 | .PP 34 | Definition at line 11 of file fzs\&.h\&. 35 | .SS "size_t fzsElement::len" 36 | len of string 37 | .PP 38 | Definition at line 10 of file fzs\&.h\&. 39 | .SS "const char* fzsElement::str" 40 | pointer to string 41 | .PP 42 | Definition at line 9 of file fzs\&.h\&. 43 | 44 | .SH "Author" 45 | .PP 46 | Generated automatically by Doxygen for Easy Framework from the source code\&. 47 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_g2dCoord.3: -------------------------------------------------------------------------------- 1 | .TH "g2dCoord" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | g2dCoord 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "unsigned \fBx\fP" 16 | .br 17 | .ti -1c 18 | .RI "unsigned \fBy\fP" 19 | .br 20 | .ti -1c 21 | .RI "unsigned \fBw\fP" 22 | .br 23 | .ti -1c 24 | .RI "unsigned \fBh\fP" 25 | .br 26 | .in -1c 27 | .SH "Detailed Description" 28 | .PP 29 | Definition at line 19 of file image\&.h\&. 30 | .SH "Field Documentation" 31 | .PP 32 | .SS "unsigned g2dCoord::h" 33 | 34 | .PP 35 | Definition at line 20 of file image\&.h\&. 36 | .SS "unsigned g2dCoord::w" 37 | 38 | .PP 39 | Definition at line 20 of file image\&.h\&. 40 | .SS "unsigned g2dCoord::x" 41 | 42 | .PP 43 | Definition at line 20 of file image\&.h\&. 44 | .SS "unsigned g2dCoord::y" 45 | 46 | .PP 47 | Definition at line 20 of file image\&.h\&. 48 | 49 | .SH "Author" 50 | .PP 51 | Generated automatically by Doxygen for Easy Framework from the source code\&. 52 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_g2dPoint.3: -------------------------------------------------------------------------------- 1 | .TH "g2dPoint" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | g2dPoint 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "unsigned \fBx\fP" 16 | .br 17 | .ti -1c 18 | .RI "unsigned \fBy\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 23 of file image\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "unsigned g2dPoint::x" 27 | 28 | .PP 29 | Definition at line 24 of file image\&.h\&. 30 | .SS "unsigned g2dPoint::y" 31 | 32 | .PP 33 | Definition at line 24 of file image\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_gif.3: -------------------------------------------------------------------------------- 1 | .TH "gif" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | gif 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "unsigned \fBwidth\fP" 16 | .br 17 | .ti -1c 18 | .RI "unsigned \fBheight\fP" 19 | .br 20 | .ti -1c 21 | .RI "\fBgifFrame_s\fP * \fBframes\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 14 of file imageGif\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "\fBgifFrame_s\fP* gif::frames" 30 | vector of gifFrame_s 31 | .PP 32 | Definition at line 17 of file imageGif\&.h\&. 33 | .SS "unsigned gif::height" 34 | 35 | .PP 36 | Definition at line 16 of file imageGif\&.h\&. 37 | .SS "unsigned gif::width" 38 | 39 | .PP 40 | Definition at line 15 of file imageGif\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_gifFrame.3: -------------------------------------------------------------------------------- 1 | .TH "gifFrame" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | gifFrame 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBg2dCoord_s\fP \fBpos\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBg2dImage_s\fP * \fBimg\fP" 19 | .br 20 | .ti -1c 21 | .RI "unsigned \fBdelay\fP" 22 | .br 23 | .ti -1c 24 | .RI "unsigned \fBdispose\fP" 25 | .br 26 | .ti -1c 27 | .RI "int \fBtransindex\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 6 of file imageGif\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "unsigned gifFrame::delay" 36 | delay in ms 37 | .PP 38 | Definition at line 9 of file imageGif\&.h\&. 39 | .SS "unsigned gifFrame::dispose" 40 | 41 | .PP 42 | Definition at line 10 of file imageGif\&.h\&. 43 | .SS "\fBg2dImage_s\fP* gifFrame::img" 44 | image to display 45 | .PP 46 | Definition at line 8 of file imageGif\&.h\&. 47 | .SS "\fBg2dCoord_s\fP gifFrame::pos" 48 | 49 | .PP 50 | Definition at line 7 of file imageGif\&.h\&. 51 | .SS "int gifFrame::transindex" 52 | 53 | .PP 54 | Definition at line 11 of file imageGif\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_guiButton.3: -------------------------------------------------------------------------------- 1 | .TH "guiButton" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | guiButton 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBguiCaption_s\fP * \fBcaption\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBguiComposite_s\fP * \fBstate\fP [\fBGUI_BUTTON_STATE_COUNT\fP]" 19 | .br 20 | .ti -1c 21 | .RI "\fBguiEvent_f\fP \fBonclick\fP" 22 | .br 23 | .ti -1c 24 | .RI "\fBguiEvent_f\fP \fBparentKey\fP" 25 | .br 26 | .ti -1c 27 | .RI "int \fBflags\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 19 of file guiButton\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "\fBguiCaption_s\fP* guiButton::caption" 36 | 37 | .PP 38 | Definition at line 20 of file guiButton\&.h\&. 39 | .SS "int guiButton::flags" 40 | 41 | .PP 42 | Definition at line 24 of file guiButton\&.h\&. 43 | .SS "\fBguiEvent_f\fP guiButton::onclick" 44 | 45 | .PP 46 | Definition at line 22 of file guiButton\&.h\&. 47 | .SS "\fBguiEvent_f\fP guiButton::parentKey" 48 | 49 | .PP 50 | Definition at line 23 of file guiButton\&.h\&. 51 | .SS "\fBguiComposite_s\fP* guiButton::state[\fBGUI_BUTTON_STATE_COUNT\fP]" 52 | 53 | .PP 54 | Definition at line 21 of file guiButton\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_guiComposite.3: -------------------------------------------------------------------------------- 1 | .TH "guiComposite" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | guiComposite 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBguiLayer_s\fP ** \fBlayers\fP" 16 | .br 17 | .ti -1c 18 | .RI "unsigned \fBflags\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 48 of file guiImage\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "unsigned guiComposite::flags" 27 | 28 | .PP 29 | Definition at line 50 of file guiImage\&.h\&. 30 | .SS "\fBguiLayer_s\fP** guiComposite::layers" 31 | 32 | .PP 33 | Definition at line 49 of file guiImage\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_guiDivCols.3: -------------------------------------------------------------------------------- 1 | .TH "guiDivCols" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | guiDivCols 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBgui_s\fP * \fBgui\fP" 16 | .br 17 | .ti -1c 18 | .RI "double \fBpropw\fP" 19 | .br 20 | .ti -1c 21 | .RI "unsigned \fBflags\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 16 of file guiDiv\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "unsigned guiDivCols::flags" 30 | 31 | .PP 32 | Definition at line 19 of file guiDiv\&.h\&. 33 | .SS "\fBgui_s\fP* guiDivCols::gui" 34 | 35 | .PP 36 | Definition at line 17 of file guiDiv\&.h\&. 37 | .SS "double guiDivCols::propw" 38 | 39 | .PP 40 | Definition at line 18 of file guiDiv\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_guiDivRow.3: -------------------------------------------------------------------------------- 1 | .TH "guiDivRow" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | guiDivRow 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "double \fBproph\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBguiDivCols_s\fP * \fBvcols\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 22 of file guiDiv\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "double guiDivRow::proph" 27 | 28 | .PP 29 | Definition at line 23 of file guiDiv\&.h\&. 30 | .SS "\fBguiDivCols_s\fP* guiDivRow::vcols" 31 | 32 | .PP 33 | Definition at line 24 of file guiDiv\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_guiLabel.3: -------------------------------------------------------------------------------- 1 | .TH "guiLabel" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | guiLabel 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBguiCaption_s\fP * \fBcaption\fP" 16 | .br 17 | .in -1c 18 | .SH "Detailed Description" 19 | .PP 20 | Definition at line 7 of file guiLabel\&.h\&. 21 | .SH "Field Documentation" 22 | .PP 23 | .SS "\fBguiCaption_s\fP* guiLabel::caption" 24 | 25 | .PP 26 | Definition at line 8 of file guiLabel\&.h\&. 27 | 28 | .SH "Author" 29 | .PP 30 | Generated automatically by Doxygen for Easy Framework from the source code\&. 31 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_guiLayerPercentage.3: -------------------------------------------------------------------------------- 1 | .TH "guiLayerPercentage" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | guiLayerPercentage 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "double \fBx\fP" 16 | .br 17 | .ti -1c 18 | .RI "double \fBy\fP" 19 | .br 20 | .ti -1c 21 | .RI "double \fBw\fP" 22 | .br 23 | .ti -1c 24 | .RI "double \fBh\fP" 25 | .br 26 | .in -1c 27 | .SH "Detailed Description" 28 | .PP 29 | Definition at line 22 of file guiImage\&.h\&. 30 | .SH "Field Documentation" 31 | .PP 32 | .SS "double guiLayerPercentage::h" 33 | 34 | .PP 35 | Definition at line 26 of file guiImage\&.h\&. 36 | .SS "double guiLayerPercentage::w" 37 | 38 | .PP 39 | Definition at line 25 of file guiImage\&.h\&. 40 | .SS "double guiLayerPercentage::x" 41 | 42 | .PP 43 | Definition at line 23 of file guiImage\&.h\&. 44 | .SS "double guiLayerPercentage::y" 45 | 46 | .PP 47 | Definition at line 24 of file guiImage\&.h\&. 48 | 49 | .SH "Author" 50 | .PP 51 | Generated automatically by Doxygen for Easy Framework from the source code\&. 52 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_guiMargin.3: -------------------------------------------------------------------------------- 1 | .TH "guiMargin" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | guiMargin 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBleft\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBright\fP" 19 | .br 20 | .ti -1c 21 | .RI "int \fBtop\fP" 22 | .br 23 | .ti -1c 24 | .RI "int \fBbottom\fP" 25 | .br 26 | .in -1c 27 | .SH "Detailed Description" 28 | .PP 29 | Definition at line 91 of file gui\&.h\&. 30 | .SH "Field Documentation" 31 | .PP 32 | .SS "int guiMargin::bottom" 33 | 34 | .PP 35 | Definition at line 92 of file gui\&.h\&. 36 | .SS "int guiMargin::left" 37 | 38 | .PP 39 | Definition at line 92 of file gui\&.h\&. 40 | .SS "int guiMargin::right" 41 | 42 | .PP 43 | Definition at line 92 of file gui\&.h\&. 44 | .SS "int guiMargin::top" 45 | 46 | .PP 47 | Definition at line 92 of file gui\&.h\&. 48 | 49 | .SH "Author" 50 | .PP 51 | Generated automatically by Doxygen for Easy Framework from the source code\&. 52 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_guiOption.3: -------------------------------------------------------------------------------- 1 | .TH "guiOption" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | guiOption 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBguiCaption_s\fP * \fBcaption\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBguiComposite_s\fP * \fBstate\fP [\fBGUI_OPTION_STATE_COUNT\fP]" 19 | .br 20 | .ti -1c 21 | .RI "\fBguiEvent_f\fP \fBparentKey\fP" 22 | .br 23 | .ti -1c 24 | .RI "int \fBflags\fP" 25 | .br 26 | .in -1c 27 | .SH "Detailed Description" 28 | .PP 29 | Definition at line 24 of file guiOptionBox\&.h\&. 30 | .SH "Field Documentation" 31 | .PP 32 | .SS "\fBguiCaption_s\fP* guiOption::caption" 33 | 34 | .PP 35 | Definition at line 25 of file guiOptionBox\&.h\&. 36 | .SS "int guiOption::flags" 37 | 38 | .PP 39 | Definition at line 28 of file guiOptionBox\&.h\&. 40 | .SS "\fBguiEvent_f\fP guiOption::parentKey" 41 | 42 | .PP 43 | Definition at line 27 of file guiOptionBox\&.h\&. 44 | .SS "\fBguiComposite_s\fP* guiOption::state[\fBGUI_OPTION_STATE_COUNT\fP]" 45 | 46 | .PP 47 | Definition at line 26 of file guiOptionBox\&.h\&. 48 | 49 | .SH "Author" 50 | .PP 51 | Generated automatically by Doxygen for Easy Framework from the source code\&. 52 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_guiPosition.3: -------------------------------------------------------------------------------- 1 | .TH "guiPosition" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | guiPosition 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBx\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBy\fP" 19 | .br 20 | .ti -1c 21 | .RI "unsigned \fBw\fP" 22 | .br 23 | .ti -1c 24 | .RI "unsigned \fBh\fP" 25 | .br 26 | .in -1c 27 | .SH "Detailed Description" 28 | .PP 29 | Definition at line 86 of file gui\&.h\&. 30 | .SH "Field Documentation" 31 | .PP 32 | .SS "unsigned guiPosition::h" 33 | 34 | .PP 35 | Definition at line 88 of file gui\&.h\&. 36 | .SS "unsigned guiPosition::w" 37 | 38 | .PP 39 | Definition at line 88 of file gui\&.h\&. 40 | .SS "int guiPosition::x" 41 | 42 | .PP 43 | Definition at line 87 of file gui\&.h\&. 44 | .SS "int guiPosition::y" 45 | 46 | .PP 47 | Definition at line 87 of file gui\&.h\&. 48 | 49 | .SH "Author" 50 | .PP 51 | Generated automatically by Doxygen for Easy Framework from the source code\&. 52 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_guiRound.3: -------------------------------------------------------------------------------- 1 | .TH "guiRound" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | guiRound 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "unsigned \fBradius\fP" 16 | .br 17 | .ti -1c 18 | .RI "unsigned \fBborder\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 104 of file gui\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "unsigned guiRound::border" 27 | 28 | .PP 29 | Definition at line 106 of file gui\&.h\&. 30 | .SS "unsigned guiRound::radius" 31 | 32 | .PP 33 | Definition at line 105 of file gui\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_guiScene.3: -------------------------------------------------------------------------------- 1 | .TH "guiScene" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | guiScene 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBguiComposite_s\fP * \fBbackground\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBguiComposite_s\fP * \fBpostproduction\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 109 of file gui\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "\fBguiComposite_s\fP* guiScene::background" 27 | 28 | .PP 29 | Definition at line 110 of file gui\&.h\&. 30 | .SS "\fBguiComposite_s\fP* guiScene::postproduction" 31 | 32 | .PP 33 | Definition at line 111 of file gui\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_guiSimpleMsgBoxButtons.3: -------------------------------------------------------------------------------- 1 | .TH "guiSimpleMsgBoxButtons" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | guiSimpleMsgBoxButtons 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fButf8_t\fP * \fBcaption\fP" 16 | .br 17 | .ti -1c 18 | .RI "void * \fBuserdata\fP" 19 | .br 20 | .ti -1c 21 | .RI "\fBguiEvent_f\fP \fBev\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 51 of file guiSimple\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "\fButf8_t\fP* guiSimpleMsgBoxButtons::caption" 30 | 31 | .PP 32 | Definition at line 52 of file guiSimple\&.h\&. 33 | .SS "\fBguiEvent_f\fP guiSimpleMsgBoxButtons::ev" 34 | 35 | .PP 36 | Definition at line 54 of file guiSimple\&.h\&. 37 | .SS "void* guiSimpleMsgBoxButtons::userdata" 38 | 39 | .PP 40 | Definition at line 53 of file guiSimple\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_guiTimer_s.3: -------------------------------------------------------------------------------- 1 | .TH "guiTimer_s" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | guiTimer_s 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "size_t \fBms\fP" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBraisedon\fP" 19 | .br 20 | .ti -1c 21 | .RI "\fBgui_s\fP * \fBgui\fP" 22 | .br 23 | .ti -1c 24 | .RI "void * \fBuserdata\fP" 25 | .br 26 | .ti -1c 27 | .RI "\fBguiTimer_f\fP \fBfn\fP" 28 | .br 29 | .ti -1c 30 | .RI "\fBphqElement_s\fP * \fBel\fP" 31 | .br 32 | .in -1c 33 | .SH "Detailed Description" 34 | .PP 35 | Definition at line 95 of file gui\&.h\&. 36 | .SH "Field Documentation" 37 | .PP 38 | .SS "\fBphqElement_s\fP* guiTimer_s::el" 39 | 40 | .PP 41 | Definition at line 101 of file gui\&.h\&. 42 | .SS "\fBguiTimer_f\fP guiTimer_s::fn" 43 | 44 | .PP 45 | Definition at line 100 of file gui\&.h\&. 46 | .SS "\fBgui_s\fP* guiTimer_s::gui" 47 | 48 | .PP 49 | Definition at line 98 of file gui\&.h\&. 50 | .SS "size_t guiTimer_s::ms" 51 | 52 | .PP 53 | Definition at line 96 of file gui\&.h\&. 54 | .SS "size_t guiTimer_s::raisedon" 55 | 56 | .PP 57 | Definition at line 97 of file gui\&.h\&. 58 | .SS "void* guiTimer_s::userdata" 59 | 60 | .PP 61 | Definition at line 99 of file gui\&.h\&. 62 | 63 | .SH "Author" 64 | .PP 65 | Generated automatically by Doxygen for Easy Framework from the source code\&. 66 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_http.3: -------------------------------------------------------------------------------- 1 | .TH "http" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | http 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBwww_s\fP \fBwww\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBhttpPost_s\fP \fBpost\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 14 of file http\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "\fBhttpPost_s\fP http::post" 27 | 28 | .PP 29 | Definition at line 16 of file http\&.h\&. 30 | .SS "\fBwww_s\fP http::www" 31 | 32 | .PP 33 | Definition at line 15 of file http\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_httpPost.3: -------------------------------------------------------------------------------- 1 | .TH "httpPost" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | httpPost 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "struct curl_httppost * \fBpost\fP" 16 | .br 17 | .ti -1c 18 | .RI "struct curl_httppost * \fBlast\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 9 of file http\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "struct curl_httppost* httpPost::last" 27 | 28 | .PP 29 | Definition at line 11 of file http\&.h\&. 30 | .SS "struct curl_httppost* httpPost::post" 31 | 32 | .PP 33 | Definition at line 10 of file http\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_imageBmp.h.3: -------------------------------------------------------------------------------- 1 | .TH "include/ef/imageBmp.h" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | include/ef/imageBmp.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | 12 | .SS "Functions" 13 | 14 | .in +1c 15 | .ti -1c 16 | .RI "\fBg2dImage_s\fP * \fBg2d_load_bmp\fP (char const *path)" 17 | .br 18 | .in -1c 19 | .SH "Function Documentation" 20 | .PP 21 | .SS "\fBg2dImage_s\fP* g2d_load_bmp (char const * path)" 22 | load bmp image, set errno to 666 if not a bmp image 23 | .SH "Author" 24 | .PP 25 | Generated automatically by Doxygen for Easy Framework from the source code\&. 26 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_imageFiles.h.3: -------------------------------------------------------------------------------- 1 | .TH "include/ef/imageFiles.h" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | include/ef/imageFiles.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | 12 | .SS "Functions" 13 | 14 | .in +1c 15 | .ti -1c 16 | .RI "\fBg2dImage_s\fP * \fBg2d_load\fP (char const *path, unsigned width, unsigned height, int ratio)" 17 | .br 18 | .in -1c 19 | .SH "Function Documentation" 20 | .PP 21 | .SS "\fBg2dImage_s\fP* g2d_load (char const * path, unsigned width, unsigned height, int ratio)" 22 | load image, supported png, jpeg, bmp 23 | .PP 24 | \fBParameters\fP 25 | .RS 4 26 | \fIpath\fP absolute path 27 | .br 28 | \fIwidth\fP if 0 no scaling 29 | .br 30 | \fIheight\fP if 0 no scaling 31 | .br 32 | \fIratio\fP calcolate ratio 33 | .RE 34 | .PP 35 | \fBReturns\fP 36 | .RS 4 37 | new image or null for error 38 | .RE 39 | .PP 40 | 41 | .SH "Author" 42 | .PP 43 | Generated automatically by Doxygen for Easy Framework from the source code\&. 44 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_imageGif.h.3: -------------------------------------------------------------------------------- 1 | .TH "include/ef/imageGif.h" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | include/ef/imageGif.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | 12 | .SS "Data Structures" 13 | 14 | .in +1c 15 | .ti -1c 16 | .RI "struct \fBgifFrame\fP" 17 | .br 18 | .ti -1c 19 | .RI "struct \fBgif\fP" 20 | .br 21 | .in -1c 22 | .SS "Typedefs" 23 | 24 | .in +1c 25 | .ti -1c 26 | .RI "typedef struct \fBgifFrame\fP \fBgifFrame_s\fP" 27 | .br 28 | .ti -1c 29 | .RI "typedef struct \fBgif\fP \fBgif_s\fP" 30 | .br 31 | .in -1c 32 | .SS "Functions" 33 | 34 | .in +1c 35 | .ti -1c 36 | .RI "\fBgif_s\fP * \fBg2d_load_gif\fP (char const *path)" 37 | .br 38 | .ti -1c 39 | .RI "void \fBg2d_gif_free\fP (\fBgif_s\fP *\fBgif\fP)" 40 | .br 41 | .ti -1c 42 | .RI "void \fBg2d_gif_resize\fP (\fBgif_s\fP *\fBgif\fP, unsigned width, unsigned height, int ratio)" 43 | .br 44 | .in -1c 45 | .SH "Typedef Documentation" 46 | .PP 47 | .SS "typedef struct \fBgif\fP \fBgif_s\fP" 48 | 49 | .SS "typedef struct \fBgifFrame\fP \fBgifFrame_s\fP" 50 | 51 | .SH "Function Documentation" 52 | .PP 53 | .SS "void g2d_gif_free (\fBgif_s\fP * gif)" 54 | 55 | .SS "void g2d_gif_resize (\fBgif_s\fP * gif, unsigned width, unsigned height, int ratio)" 56 | 57 | .SS "\fBgif_s\fP* g2d_load_gif (char const * path)" 58 | 59 | .SH "Author" 60 | .PP 61 | Generated automatically by Doxygen for Easy Framework from the source code\&. 62 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_imageJpeg.h.3: -------------------------------------------------------------------------------- 1 | .TH "include/ef/imageJpeg.h" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | include/ef/imageJpeg.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | 12 | .SS "Functions" 13 | 14 | .in +1c 15 | .ti -1c 16 | .RI "\fBg2dImage_s\fP * \fBg2d_load_jpeg\fP (char const *path)" 17 | .br 18 | .in -1c 19 | .SH "Function Documentation" 20 | .PP 21 | .SS "\fBg2dImage_s\fP* g2d_load_jpeg (char const * path)" 22 | load jpeg image, set errno to 666 if not a jpeg image 23 | .SH "Author" 24 | .PP 25 | Generated automatically by Doxygen for Easy Framework from the source code\&. 26 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_imagePng.h.3: -------------------------------------------------------------------------------- 1 | .TH "include/ef/imagePng.h" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | include/ef/imagePng.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | 12 | .SS "Functions" 13 | 14 | .in +1c 15 | .ti -1c 16 | .RI "\fBg2dImage_s\fP * \fBg2d_load_png\fP (char const *path)" 17 | .br 18 | .in -1c 19 | .SH "Function Documentation" 20 | .PP 21 | .SS "\fBg2dImage_s\fP* g2d_load_png (char const * path)" 22 | load png image, set errno to 666 if not a png image 23 | .SH "Author" 24 | .PP 25 | Generated automatically by Doxygen for Easy Framework from the source code\&. 26 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_imageSvg.h.3: -------------------------------------------------------------------------------- 1 | .TH "include/ef/imageSvg.h" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | include/ef/imageSvg.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | 12 | .SS "Data Structures" 13 | 14 | .in +1c 15 | .ti -1c 16 | .RI "struct \fBsvg\fP" 17 | .br 18 | .in -1c 19 | .SS "Typedefs" 20 | 21 | .in +1c 22 | .ti -1c 23 | .RI "typedef struct \fBsvg\fP \fBsvg_s\fP" 24 | .br 25 | .in -1c 26 | .SS "Functions" 27 | 28 | .in +1c 29 | .ti -1c 30 | .RI "\fBsvg_s\fP * \fBsvg_load\fP (char const *path)" 31 | .br 32 | .ti -1c 33 | .RI "\fBg2dImage_s\fP * \fBsvg_render\fP (\fBsvg_s\fP *\fBsvg\fP, unsigned width, unsigned height)" 34 | .br 35 | .ti -1c 36 | .RI "void \fBsvg_free\fP (\fBsvg_s\fP *\fBsvg\fP)" 37 | .br 38 | .in -1c 39 | .SH "Typedef Documentation" 40 | .PP 41 | .SS "typedef struct \fBsvg\fP \fBsvg_s\fP" 42 | 43 | .SH "Function Documentation" 44 | .PP 45 | .SS "void svg_free (\fBsvg_s\fP * svg)" 46 | free svg 47 | .SS "\fBsvg_s\fP* svg_load (char const * path)" 48 | load svg image 49 | .SS "\fBg2dImage_s\fP* svg_render (\fBsvg_s\fP * svg, unsigned width, unsigned height)" 50 | render svg 51 | .SH "Author" 52 | .PP 53 | Generated automatically by Doxygen for Easy Framework from the source code\&. 54 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_imap.3: -------------------------------------------------------------------------------- 1 | .TH "imap" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | imap 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBwww_s\fP \fBwww\fP" 16 | .br 17 | .ti -1c 18 | .RI "char * \fBserver\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBlenServer\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 51 of file imap\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "size_t imap::lenServer" 30 | 31 | .PP 32 | Definition at line 54 of file imap\&.h\&. 33 | .SS "char* imap::server" 34 | 35 | .PP 36 | Definition at line 53 of file imap\&.h\&. 37 | .SS "\fBwww_s\fP imap::www" 38 | 39 | .PP 40 | Definition at line 52 of file imap\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_imapExamine.3: -------------------------------------------------------------------------------- 1 | .TH "imapExamine" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | imapExamine 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "size_t \fBexists\fP" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBrecent\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBunseeid\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 45 of file imap\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "size_t imapExamine::exists" 30 | exists mexage, exists id is most recent message 31 | .PP 32 | Definition at line 46 of file imap\&.h\&. 33 | .SS "size_t imapExamine::recent" 34 | recent 35 | .PP 36 | Definition at line 47 of file imap\&.h\&. 37 | .SS "size_t imapExamine::unseeid" 38 | first unsee id 39 | .PP 40 | Definition at line 48 of file imap\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_imapFetch.3: -------------------------------------------------------------------------------- 1 | .TH "imapFetch" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | imapFetch 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "size_t \fBid\fP" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBsize\fP" 19 | .br 20 | .ti -1c 21 | .RI "const char * \fBmime\fP" 22 | .br 23 | .ti -1c 24 | .RI "\fBimapFetchFlags_e\fP \fBflag\fP" 25 | .br 26 | .in -1c 27 | .SH "Detailed Description" 28 | .PP 29 | Definition at line 38 of file imap\&.h\&. 30 | .SH "Field Documentation" 31 | .PP 32 | .SS "\fBimapFetchFlags_e\fP imapFetch::flag" 33 | flag 34 | .PP 35 | Definition at line 42 of file imap\&.h\&. 36 | .SS "size_t imapFetch::id" 37 | id 38 | .PP 39 | Definition at line 39 of file imap\&.h\&. 40 | .SS "const char* imapFetch::mime" 41 | unparsed mime 42 | .PP 43 | Definition at line 41 of file imap\&.h\&. 44 | .SS "size_t imapFetch::size" 45 | size of fetch 46 | .PP 47 | Definition at line 40 of file imap\&.h\&. 48 | 49 | .SH "Author" 50 | .PP 51 | Generated automatically by Doxygen for Easy Framework from the source code\&. 52 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_imapMimeContent.3: -------------------------------------------------------------------------------- 1 | .TH "imapMimeContent" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | imapMimeContent 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "struct \fBimapMimeContent\fP * \fBnext\fP" 16 | .br 17 | .ti -1c 18 | .RI "char * \fBtype\fP" 19 | .br 20 | .ti -1c 21 | .RI "char * \fBfilename\fP" 22 | .br 23 | .ti -1c 24 | .RI "char * \fBdisposition\fP" 25 | .br 26 | .ti -1c 27 | .RI "void * \fBdata\fP" 28 | .br 29 | .ti -1c 30 | .RI "size_t \fBdataSize\fP" 31 | .br 32 | .in -1c 33 | .SH "Detailed Description" 34 | .PP 35 | Definition at line 17 of file imap\&.h\&. 36 | .SH "Field Documentation" 37 | .PP 38 | .SS "void* imapMimeContent::data" 39 | data of content 40 | .PP 41 | Definition at line 22 of file imap\&.h\&. 42 | .SS "size_t imapMimeContent::dataSize" 43 | size of data 44 | .PP 45 | Definition at line 23 of file imap\&.h\&. 46 | .SS "char* imapMimeContent::disposition" 47 | content-disposition, example attachment 48 | .PP 49 | Definition at line 21 of file imap\&.h\&. 50 | .SS "char* imapMimeContent::filename" 51 | filename if exists 52 | .PP 53 | Definition at line 20 of file imap\&.h\&. 54 | .SS "struct \fBimapMimeContent\fP* imapMimeContent::next" 55 | next mime 56 | .PP 57 | Definition at line 18 of file imap\&.h\&. 58 | .SS "char* imapMimeContent::type" 59 | content-type 60 | .PP 61 | Definition at line 19 of file imap\&.h\&. 62 | 63 | .SH "Author" 64 | .PP 65 | Generated automatically by Doxygen for Easy Framework from the source code\&. 66 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_kbData.3: -------------------------------------------------------------------------------- 1 | .TH "kbData" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | kbData 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBtiData_s\fP * \fBtid\fP" 16 | .br 17 | .ti -1c 18 | .RI "char * \fBname\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBid\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 45 of file terminfo\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "size_t kbData::id" 30 | 31 | .PP 32 | Definition at line 48 of file terminfo\&.h\&. 33 | .SS "char* kbData::name" 34 | 35 | .PP 36 | Definition at line 47 of file terminfo\&.h\&. 37 | .SS "\fBtiData_s\fP* kbData::tid" 38 | 39 | .PP 40 | Definition at line 46 of file terminfo\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_listDouble.3: -------------------------------------------------------------------------------- 1 | .TH "listDouble" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | listDouble 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "void * \fBnext\fP" 16 | .br 17 | .ti -1c 18 | .RI "void * \fBprev\fP" 19 | .br 20 | .ti -1c 21 | .RI "\fBlistFree_f\fP \fBclean\fP" 22 | .br 23 | .ti -1c 24 | .RI "size_t \fBsize\fP" 25 | .br 26 | .ti -1c 27 | .RI "void * \fBdata\fP [0]" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 129 of file list\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "\fBlistFree_f\fP listDouble::clean" 36 | cleanup function 37 | .PP 38 | Definition at line 132 of file list\&.h\&. 39 | .SS "void* listDouble::data[0]" 40 | user data 41 | .PP 42 | Definition at line 134 of file list\&.h\&. 43 | .SS "void* listDouble::next" 44 | next element 45 | .PP 46 | Definition at line 130 of file list\&.h\&. 47 | .SS "void* listDouble::prev" 48 | prev element 49 | .PP 50 | Definition at line 131 of file list\&.h\&. 51 | .SS "size_t listDouble::size" 52 | size data 53 | .PP 54 | Definition at line 133 of file list\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_listSimple.3: -------------------------------------------------------------------------------- 1 | .TH "listSimple" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | listSimple 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "void * \fBnext\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBlistFree_f\fP \fBclean\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBsize\fP" 22 | .br 23 | .ti -1c 24 | .RI "void * \fBdata\fP [0]" 25 | .br 26 | .in -1c 27 | .SH "Detailed Description" 28 | .PP 29 | Definition at line 16 of file list\&.h\&. 30 | .SH "Field Documentation" 31 | .PP 32 | .SS "\fBlistFree_f\fP listSimple::clean" 33 | cleanup function 34 | .PP 35 | Definition at line 18 of file list\&.h\&. 36 | .SS "void* listSimple::data[0]" 37 | user data 38 | .PP 39 | Definition at line 20 of file list\&.h\&. 40 | .SS "void* listSimple::next" 41 | next element 42 | .PP 43 | Definition at line 17 of file list\&.h\&. 44 | .SS "size_t listSimple::size" 45 | size of data 46 | .PP 47 | Definition at line 19 of file list\&.h\&. 48 | 49 | .SH "Author" 50 | .PP 51 | Generated automatically by Doxygen for Easy Framework from the source code\&. 52 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_message.3: -------------------------------------------------------------------------------- 1 | .TH "message" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | message 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "struct \fBmessage\fP * \fBnext\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBqmfree_f\fP \fBclean\fP" 19 | .br 20 | .ti -1c 21 | .RI "void * \fBdata\fP [0]" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 162 of file threads\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "\fBqmfree_f\fP message::clean" 30 | 31 | .PP 32 | Definition at line 164 of file threads\&.h\&. 33 | .SS "void* message::data[0]" 34 | 35 | .PP 36 | Definition at line 165 of file threads\&.h\&. 37 | .SS "struct \fBmessage\fP* message::next" 38 | 39 | .PP 40 | Definition at line 163 of file threads\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_monitor.3: -------------------------------------------------------------------------------- 1 | .TH "monitor" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | monitor 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "char * \fBname\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBbool_t\fP \fBconnected\fP" 19 | .br 20 | .ti -1c 21 | .RI "\fBg2dCoord_s\fP \fBsize\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 160 of file xorg\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "\fBbool_t\fP monitor::connected" 30 | 31 | .PP 32 | Definition at line 162 of file xorg\&.h\&. 33 | .SS "char* monitor::name" 34 | 35 | .PP 36 | Definition at line 161 of file xorg\&.h\&. 37 | .SS "\fBg2dCoord_s\fP monitor::size" 38 | 39 | .PP 40 | Definition at line 163 of file xorg\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_mutex.3: -------------------------------------------------------------------------------- 1 | .TH "mutex" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | mutex 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBfutex\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBprivate\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 47 of file threads\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "int mutex::futex" 27 | 28 | .PP 29 | Definition at line 48 of file threads\&.h\&. 30 | .SS "int mutex::private" 31 | 32 | .PP 33 | Definition at line 49 of file threads\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_netDev.3: -------------------------------------------------------------------------------- 1 | .TH "netDev" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | netDev 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "size_t \fBreceive\fP [\fBND_COUNT\fP]" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBtransmit\fP [\fBND_COUNT\fP]" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 35 of file proc\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "size_t netDev::receive[\fBND_COUNT\fP]" 27 | 28 | .PP 29 | Definition at line 36 of file proc\&.h\&. 30 | .SS "size_t netDev::transmit[\fBND_COUNT\fP]" 31 | 32 | .PP 33 | Definition at line 37 of file proc\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_os.h.3: -------------------------------------------------------------------------------- 1 | .TH "include/ef/os.h" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | include/ef/os.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | 12 | .SS "Macros" 13 | 14 | .in +1c 15 | .ti -1c 16 | .RI "#define \fBos_getlocale\fP() locale_charset()" 17 | .br 18 | .in -1c 19 | .SS "Functions" 20 | 21 | .in +1c 22 | .ti -1c 23 | .RI "const char * \fBos_setlocale\fP (int category, const char *locale)" 24 | .br 25 | .ti -1c 26 | .RI "void \fBos_begin\fP (void)" 27 | .br 28 | .in -1c 29 | .SH "Macro Definition Documentation" 30 | .PP 31 | .SS "#define os_getlocale() locale_charset()" 32 | get current locale 33 | .PP 34 | Definition at line 11 of file os\&.h\&. 35 | .SH "Function Documentation" 36 | .PP 37 | .SS "void os_begin (void)" 38 | 39 | .SS "const char* os_setlocale (int category, const char * locale)" 40 | set locale and return previous setting 41 | .SH "Author" 42 | .PP 43 | Generated automatically by Doxygen for Easy Framework from the source code\&. 44 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_phq.3: -------------------------------------------------------------------------------- 1 | .TH "phq" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | phq 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "size_t \fBsize\fP" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBcount\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBresize\fP" 22 | .br 23 | .ti -1c 24 | .RI "\fBphqCompare_f\fP \fBcmp\fP" 25 | .br 26 | .ti -1c 27 | .RI "\fBphqElement_s\fP ** \fBelements\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 18 of file phq\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "\fBphqCompare_f\fP phq::cmp" 36 | compare function 37 | .PP 38 | Definition at line 22 of file phq\&.h\&. 39 | .SS "size_t phq::count" 40 | count elements 41 | .PP 42 | Definition at line 20 of file phq\&.h\&. 43 | .SS "\fBphqElement_s\fP** phq::elements" 44 | array of elements 45 | .PP 46 | Definition at line 23 of file phq\&.h\&. 47 | .SS "size_t phq::resize" 48 | resize 49 | .PP 50 | Definition at line 21 of file phq\&.h\&. 51 | .SS "size_t phq::size" 52 | size of elements 53 | .PP 54 | Definition at line 19 of file phq\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_phqElement.3: -------------------------------------------------------------------------------- 1 | .TH "phqElement" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | phqElement 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "size_t \fBpriority\fP" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBindex\fP" 19 | .br 20 | .ti -1c 21 | .RI "\fBphqFree_f\fP \fBfree\fP" 22 | .br 23 | .ti -1c 24 | .RI "void * \fBdata\fP" 25 | .br 26 | .in -1c 27 | .SH "Detailed Description" 28 | .PP 29 | Definition at line 11 of file phq\&.h\&. 30 | .SH "Field Documentation" 31 | .PP 32 | .SS "void* phqElement::data" 33 | userdata 34 | .PP 35 | Definition at line 15 of file phq\&.h\&. 36 | .SS "\fBphqFree_f\fP phqElement::free" 37 | callback function 38 | .PP 39 | Definition at line 14 of file phq\&.h\&. 40 | .SS "size_t phqElement::index" 41 | index 42 | .PP 43 | Definition at line 13 of file phq\&.h\&. 44 | .SS "size_t phqElement::priority" 45 | priority 46 | .PP 47 | Definition at line 12 of file phq\&.h\&. 48 | 49 | .SH "Author" 50 | .PP 51 | Generated automatically by Doxygen for Easy Framework from the source code\&. 52 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_pollEvent.3: -------------------------------------------------------------------------------- 1 | .TH "pollEvent" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | pollEvent 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBfd\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBevent\fP" 19 | .br 20 | .ti -1c 21 | .RI "\fBpollCbk_f\fP \fBcallback\fP" 22 | .br 23 | .ti -1c 24 | .RI "void * \fBarg\fP" 25 | .br 26 | .in -1c 27 | .SH "Detailed Description" 28 | .PP 29 | Definition at line 24 of file deadpoll\&.h\&. 30 | .SH "Field Documentation" 31 | .PP 32 | .SS "void* pollEvent::arg" 33 | 34 | .PP 35 | Definition at line 28 of file deadpoll\&.h\&. 36 | .SS "\fBpollCbk_f\fP pollEvent::callback" 37 | 38 | .PP 39 | Definition at line 27 of file deadpoll\&.h\&. 40 | .SS "int pollEvent::event" 41 | 42 | .PP 43 | Definition at line 26 of file deadpoll\&.h\&. 44 | .SS "int pollEvent::fd" 45 | 46 | .PP 47 | Definition at line 25 of file deadpoll\&.h\&. 48 | 49 | .SH "Author" 50 | .PP 51 | Generated automatically by Doxygen for Easy Framework from the source code\&. 52 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_qmessages.3: -------------------------------------------------------------------------------- 1 | .TH "qmessages" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | qmessages 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBmessage_s\fP * \fBcurrent\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBmessage_s\fP ** \fBtail\fP" 19 | .br 20 | .ti -1c 21 | .RI "\fBmutex_s\fP * \fBmtx\fP" 22 | .br 23 | .ti -1c 24 | .RI "int \fBevfd\fP" 25 | .br 26 | .in -1c 27 | .SH "Detailed Description" 28 | .PP 29 | Definition at line 168 of file threads\&.h\&. 30 | .SH "Field Documentation" 31 | .PP 32 | .SS "\fBmessage_s\fP* qmessages::current" 33 | 34 | .PP 35 | Definition at line 169 of file threads\&.h\&. 36 | .SS "int qmessages::evfd" 37 | 38 | .PP 39 | Definition at line 172 of file threads\&.h\&. 40 | .SS "\fBmutex_s\fP* qmessages::mtx" 41 | 42 | .PP 43 | Definition at line 171 of file threads\&.h\&. 44 | .SS "\fBmessage_s\fP** qmessages::tail" 45 | 46 | .PP 47 | Definition at line 170 of file threads\&.h\&. 48 | 49 | .SH "Author" 50 | .PP 51 | Generated automatically by Doxygen for Easy Framework from the source code\&. 52 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_rbhashElement.3: -------------------------------------------------------------------------------- 1 | .TH "rbhashElement" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | rbhashElement 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "void * \fBdata\fP" 16 | .br 17 | .ti -1c 18 | .RI "uint32_t \fBhash\fP" 19 | .br 20 | .ti -1c 21 | .RI "uint32_t \fBlen\fP" 22 | .br 23 | .ti -1c 24 | .RI "uint32_t \fBdistance\fP" 25 | .br 26 | .ti -1c 27 | .RI "char \fBkey\fP []" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 10 of file rbhash\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "void* rbhashElement::data" 36 | user data 37 | .PP 38 | Definition at line 11 of file rbhash\&.h\&. 39 | .SS "uint32_t rbhashElement::distance" 40 | distance from hash 41 | .PP 42 | Definition at line 14 of file rbhash\&.h\&. 43 | .SS "uint32_t rbhashElement::hash" 44 | hash 45 | .PP 46 | Definition at line 12 of file rbhash\&.h\&. 47 | .SS "char rbhashElement::key[]" 48 | flexible key 49 | .PP 50 | Definition at line 15 of file rbhash\&.h\&. 51 | .SS "uint32_t rbhashElement::len" 52 | len of key 53 | .PP 54 | Definition at line 13 of file rbhash\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_rbuffer.3: -------------------------------------------------------------------------------- 1 | .TH "rbuffer" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | rbuffer 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "size_t \fBsof\fP" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBsize\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBr\fP" 22 | .br 23 | .ti -1c 24 | .RI "size_t \fBw\fP" 25 | .br 26 | .ti -1c 27 | .RI "void * \fBelement\fP [0]" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | generic ring buffer 33 | .PP 34 | Definition at line 7 of file rbuffer\&.h\&. 35 | .SH "Field Documentation" 36 | .PP 37 | .SS "void* rbuffer::element[0]" 38 | memory 39 | .PP 40 | Definition at line 12 of file rbuffer\&.h\&. 41 | .SS "size_t rbuffer::r" 42 | read id 43 | .PP 44 | Definition at line 10 of file rbuffer\&.h\&. 45 | .SS "size_t rbuffer::size" 46 | size of memory 47 | .PP 48 | Definition at line 9 of file rbuffer\&.h\&. 49 | .SS "size_t rbuffer::sof" 50 | sizeof type 51 | .PP 52 | Definition at line 8 of file rbuffer\&.h\&. 53 | .SS "size_t rbuffer::w" 54 | write id 55 | .PP 56 | Definition at line 11 of file rbuffer\&.h\&. 57 | 58 | .SH "Author" 59 | .PP 60 | Generated automatically by Doxygen for Easy Framework from the source code\&. 61 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_semaphore.3: -------------------------------------------------------------------------------- 1 | .TH "semaphore" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | semaphore 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBfutex\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBprivate\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 77 of file threads\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "int semaphore::futex" 27 | 28 | .PP 29 | Definition at line 78 of file threads\&.h\&. 30 | .SS "int semaphore::private" 31 | 32 | .PP 33 | Definition at line 79 of file threads\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_streamBuffer.3: -------------------------------------------------------------------------------- 1 | .TH "streamBuffer" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | streamBuffer 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "char * \fBbuf\fP" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBsize\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBlen\fP" 22 | .br 23 | .ti -1c 24 | .RI "size_t \fBcursor\fP" 25 | .br 26 | .in -1c 27 | .SH "Detailed Description" 28 | .PP 29 | Definition at line 372 of file file\&.h\&. 30 | .SH "Field Documentation" 31 | .PP 32 | .SS "char* streamBuffer::buf" 33 | pointer to rwbuffer for stream 34 | .PP 35 | Definition at line 373 of file file\&.h\&. 36 | .SS "size_t streamBuffer::cursor" 37 | position 38 | .PP 39 | Definition at line 376 of file file\&.h\&. 40 | .SS "size_t streamBuffer::len" 41 | data len in buffer 42 | .PP 43 | Definition at line 375 of file file\&.h\&. 44 | .SS "size_t streamBuffer::size" 45 | size of buffer 46 | .PP 47 | Definition at line 374 of file file\&.h\&. 48 | 49 | .SH "Author" 50 | .PP 51 | Generated automatically by Doxygen for Easy Framework from the source code\&. 52 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_svg.3: -------------------------------------------------------------------------------- 1 | .TH "svg" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | svg 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "size_t \fBsize\fP" 16 | .br 17 | .ti -1c 18 | .RI "unsigned char * \fBmemblock\fP" 19 | .br 20 | .ti -1c 21 | .RI "void * \fBrsvgHandle\fP" 22 | .br 23 | .ti -1c 24 | .RI "unsigned \fBdimW\fP" 25 | .br 26 | .ti -1c 27 | .RI "unsigned \fBdimH\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 6 of file imageSvg\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "unsigned svg::dimH" 36 | 37 | .PP 38 | Definition at line 11 of file imageSvg\&.h\&. 39 | .SS "unsigned svg::dimW" 40 | 41 | .PP 42 | Definition at line 10 of file imageSvg\&.h\&. 43 | .SS "unsigned char* svg::memblock" 44 | 45 | .PP 46 | Definition at line 8 of file imageSvg\&.h\&. 47 | .SS "void* svg::rsvgHandle" 48 | 49 | .PP 50 | Definition at line 9 of file imageSvg\&.h\&. 51 | .SS "size_t svg::size" 52 | 53 | .PP 54 | Definition at line 7 of file imageSvg\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_term.h.3: -------------------------------------------------------------------------------- 1 | .TH "include/ef/term.h" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | include/ef/term.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | \fC#include \fP 12 | .br 13 | \fC#include \fP 14 | .br 15 | \fC#include \fP 16 | .br 17 | \fC#include \fP 18 | .br 19 | \fC#include \fP 20 | .br 21 | \fC#include \fP 22 | .br 23 | \fC#include \fP 24 | .br 25 | 26 | .SH "Author" 27 | .PP 28 | Generated automatically by Doxygen for Easy Framework from the source code\&. 29 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_termInfo.3: -------------------------------------------------------------------------------- 1 | .TH "termInfo" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | termInfo 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBrbhash_s\fP * \fBcap\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBtrie_s\fP * \fBcaupcake\fP" 19 | .br 20 | .ti -1c 21 | .RI "char * \fBdbname\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 51 of file terminfo\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "\fBrbhash_s\fP* termInfo::cap" 30 | 31 | .PP 32 | Definition at line 52 of file terminfo\&.h\&. 33 | .SS "\fBtrie_s\fP* termInfo::caupcake" 34 | 35 | .PP 36 | Definition at line 53 of file terminfo\&.h\&. 37 | .SS "char* termInfo::dbname" 38 | 39 | .PP 40 | Definition at line 54 of file terminfo\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_termKey.3: -------------------------------------------------------------------------------- 1 | .TH "termKey" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | termKey 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fButf_t\fP \fBch\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBescape\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 22 of file terminput\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "\fButf_t\fP termKey::ch" 27 | 28 | .PP 29 | Definition at line 23 of file terminput\&.h\&. 30 | .SS "int termKey::escape" 31 | 32 | .PP 33 | Definition at line 24 of file terminput\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_termMouse_s.3: -------------------------------------------------------------------------------- 1 | .TH "termMouse_s" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | termMouse_s 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBr\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBc\fP" 19 | .br 20 | .ti -1c 21 | .RI "int \fBbutton\fP" 22 | .br 23 | .ti -1c 24 | .RI "int \fBmeta\fP" 25 | .br 26 | .ti -1c 27 | .RI "int \fBshift\fP" 28 | .br 29 | .ti -1c 30 | .RI "int \fBcontrol\fP" 31 | .br 32 | .in -1c 33 | .SH "Detailed Description" 34 | .PP 35 | Definition at line 13 of file terminput\&.h\&. 36 | .SH "Field Documentation" 37 | .PP 38 | .SS "int termMouse_s::button" 39 | 40 | .PP 41 | Definition at line 16 of file terminput\&.h\&. 42 | .SS "int termMouse_s::c" 43 | 44 | .PP 45 | Definition at line 15 of file terminput\&.h\&. 46 | .SS "int termMouse_s::control" 47 | 48 | .PP 49 | Definition at line 19 of file terminput\&.h\&. 50 | .SS "int termMouse_s::meta" 51 | 52 | .PP 53 | Definition at line 17 of file terminput\&.h\&. 54 | .SS "int termMouse_s::r" 55 | 56 | .PP 57 | Definition at line 14 of file terminput\&.h\&. 58 | .SS "int termMouse_s::shift" 59 | 60 | .PP 61 | Definition at line 18 of file terminput\&.h\&. 62 | 63 | .SH "Author" 64 | .PP 65 | Generated automatically by Doxygen for Easy Framework from the source code\&. 66 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_termRLArea.3: -------------------------------------------------------------------------------- 1 | .TH "termRLArea" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | termRLArea 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "unsigned \fBcol\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBrow\fP" 19 | .br 20 | .ti -1c 21 | .RI "unsigned \fBwidth\fP" 22 | .br 23 | .ti -1c 24 | .RI "unsigned \fBheight\fP" 25 | .br 26 | .ti -1c 27 | .RI "unsigned \fBrowLast\fP" 28 | .br 29 | .ti -1c 30 | .RI "unsigned \fBcolLast\fP" 31 | .br 32 | .in -1c 33 | .SH "Detailed Description" 34 | .PP 35 | Definition at line 17 of file termreadline\&.h\&. 36 | .SH "Field Documentation" 37 | .PP 38 | .SS "unsigned termRLArea::col" 39 | 40 | .PP 41 | Definition at line 18 of file termreadline\&.h\&. 42 | .SS "unsigned termRLArea::colLast" 43 | 44 | .PP 45 | Definition at line 23 of file termreadline\&.h\&. 46 | .SS "unsigned termRLArea::height" 47 | 48 | .PP 49 | Definition at line 21 of file termreadline\&.h\&. 50 | .SS "int termRLArea::row" 51 | 52 | .PP 53 | Definition at line 19 of file termreadline\&.h\&. 54 | .SS "unsigned termRLArea::rowLast" 55 | 56 | .PP 57 | Definition at line 22 of file termreadline\&.h\&. 58 | .SS "unsigned termRLArea::width" 59 | 60 | .PP 61 | Definition at line 20 of file termreadline\&.h\&. 62 | 63 | .SH "Author" 64 | .PP 65 | Generated automatically by Doxygen for Easy Framework from the source code\&. 66 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_termRLCursor.3: -------------------------------------------------------------------------------- 1 | .TH "termRLCursor" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | termRLCursor 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "unsigned \fBrow\fP" 16 | .br 17 | .ti -1c 18 | .RI "unsigned \fBcol\fP" 19 | .br 20 | .ti -1c 21 | .RI "unsigned \fBscrollcol\fP" 22 | .br 23 | .ti -1c 24 | .RI "unsigned \fBscrollrow\fP" 25 | .br 26 | .ti -1c 27 | .RI "unsigned \fBmode\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 32 of file termreadline\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "unsigned termRLCursor::col" 36 | 37 | .PP 38 | Definition at line 34 of file termreadline\&.h\&. 39 | .SS "unsigned termRLCursor::mode" 40 | 41 | .PP 42 | Definition at line 37 of file termreadline\&.h\&. 43 | .SS "unsigned termRLCursor::row" 44 | 45 | .PP 46 | Definition at line 33 of file termreadline\&.h\&. 47 | .SS "unsigned termRLCursor::scrollcol" 48 | 49 | .PP 50 | Definition at line 35 of file termreadline\&.h\&. 51 | .SS "unsigned termRLCursor::scrollrow" 52 | 53 | .PP 54 | Definition at line 36 of file termreadline\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_termRLText.3: -------------------------------------------------------------------------------- 1 | .TH "termRLText" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | termRLText 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fButf8_t\fP * \fBstr\fP" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBlen\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBsize\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 26 of file termreadline\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "size_t termRLText::len" 30 | 31 | .PP 32 | Definition at line 28 of file termreadline\&.h\&. 33 | .SS "size_t termRLText::size" 34 | 35 | .PP 36 | Definition at line 29 of file termreadline\&.h\&. 37 | .SS "\fButf8_t\fP* termRLText::str" 38 | 39 | .PP 40 | Definition at line 27 of file termreadline\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_termReadLine.3: -------------------------------------------------------------------------------- 1 | .TH "termReadLine" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | termReadLine 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBtermRLArea_s\fP \fBposition\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBtermRLText_s\fP \fBprompt\fP" 19 | .br 20 | .ti -1c 21 | .RI "\fBtermRLText_s\fP \fBtext\fP" 22 | .br 23 | .ti -1c 24 | .RI "\fButf8Iterator_s\fP \fBit\fP" 25 | .br 26 | .ti -1c 27 | .RI "\fBtermRLCursor_s\fP \fBcursor\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 48 of file termreadline\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "\fBtermRLCursor_s\fP termReadLine::cursor" 36 | 37 | .PP 38 | Definition at line 53 of file termreadline\&.h\&. 39 | .SS "\fButf8Iterator_s\fP termReadLine::it" 40 | 41 | .PP 42 | Definition at line 52 of file termreadline\&.h\&. 43 | .SS "\fBtermRLArea_s\fP termReadLine::position" 44 | 45 | .PP 46 | Definition at line 49 of file termreadline\&.h\&. 47 | .SS "\fBtermRLText_s\fP termReadLine::prompt" 48 | 49 | .PP 50 | Definition at line 50 of file termreadline\&.h\&. 51 | .SS "\fBtermRLText_s\fP termReadLine::text" 52 | 53 | .PP 54 | Definition at line 51 of file termreadline\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_thr.3: -------------------------------------------------------------------------------- 1 | .TH "thr" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | thr 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "pthread_t \fBid\fP" 16 | .br 17 | .ti -1c 18 | .RI "pthread_attr_t \fBattr\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 219 of file threads\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "pthread_attr_t thr::attr" 27 | 28 | .PP 29 | Definition at line 221 of file threads\&.h\&. 30 | .SS "pthread_t thr::id" 31 | 32 | .PP 33 | Definition at line 220 of file threads\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tiData.3: -------------------------------------------------------------------------------- 1 | .TH "tiData" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tiData 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBtitype_e\fP \fBtype\fP" 16 | .br 17 | .ti -1c 18 | .RI "union {" 19 | .br 20 | .ti -1c 21 | .RI " char * \fBstr\fP" 22 | .br 23 | .ti -1c 24 | .RI " int \fBnum\fP" 25 | .br 26 | .ti -1c 27 | .RI " \fBbool_t\fP \fBbol\fP" 28 | .br 29 | .ti -1c 30 | .RI "}; " 31 | .br 32 | .in -1c 33 | .SH "Detailed Description" 34 | .PP 35 | Definition at line 36 of file terminfo\&.h\&. 36 | .SH "Field Documentation" 37 | .PP 38 | .SS "union { \&.\&.\&. } " 39 | 40 | .SS "\fBbool_t\fP tiData::bol" 41 | 42 | .PP 43 | Definition at line 41 of file terminfo\&.h\&. 44 | .SS "int tiData::num" 45 | 46 | .PP 47 | Definition at line 40 of file terminfo\&.h\&. 48 | .SS "char* tiData::str" 49 | 50 | .PP 51 | Definition at line 39 of file terminfo\&.h\&. 52 | .SS "\fBtitype_e\fP tiData::type" 53 | 54 | .PP 55 | Definition at line 37 of file terminfo\&.h\&. 56 | 57 | .SH "Author" 58 | .PP 59 | Generated automatically by Doxygen for Easy Framework from the source code\&. 60 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tidatabase.3: -------------------------------------------------------------------------------- 1 | .TH "tidatabase" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tidatabase 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBtidbheader_s\fP \fBheader\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBtidbextend_s\fP \fBextend\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBsize\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 74 of file terminfo\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "\fBtidbextend_s\fP tidatabase::extend" 30 | 31 | .PP 32 | Definition at line 76 of file terminfo\&.h\&. 33 | .SS "\fBtidbheader_s\fP tidatabase::header" 34 | 35 | .PP 36 | Definition at line 75 of file terminfo\&.h\&. 37 | .SS "size_t tidatabase::size" 38 | 39 | .PP 40 | Definition at line 77 of file terminfo\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tidbextend.3: -------------------------------------------------------------------------------- 1 | .TH "tidbextend" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tidbextend 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int16_t \fBbooleanSize\fP" 16 | .br 17 | .ti -1c 18 | .RI "int16_t \fBnumberSize\fP" 19 | .br 20 | .ti -1c 21 | .RI "int16_t \fBstringCount\fP" 22 | .br 23 | .ti -1c 24 | .RI "int16_t \fBstringTableSize\fP" 25 | .br 26 | .ti -1c 27 | .RI "int16_t \fBlastoffset\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 66 of file terminfo\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "int16_t tidbextend::booleanSize" 36 | 37 | .PP 38 | Definition at line 67 of file terminfo\&.h\&. 39 | .SS "int16_t tidbextend::lastoffset" 40 | 41 | .PP 42 | Definition at line 71 of file terminfo\&.h\&. 43 | .SS "int16_t tidbextend::numberSize" 44 | 45 | .PP 46 | Definition at line 68 of file terminfo\&.h\&. 47 | .SS "int16_t tidbextend::stringCount" 48 | 49 | .PP 50 | Definition at line 69 of file terminfo\&.h\&. 51 | .SS "int16_t tidbextend::stringTableSize" 52 | 53 | .PP 54 | Definition at line 70 of file terminfo\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tidbheader.3: -------------------------------------------------------------------------------- 1 | .TH "tidbheader" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tidbheader 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int16_t \fBmagic\fP" 16 | .br 17 | .ti -1c 18 | .RI "int16_t \fBnameSize\fP" 19 | .br 20 | .ti -1c 21 | .RI "int16_t \fBbooleanSize\fP" 22 | .br 23 | .ti -1c 24 | .RI "int16_t \fBnumberSize\fP" 25 | .br 26 | .ti -1c 27 | .RI "int16_t \fBoffsetStringCount\fP" 28 | .br 29 | .ti -1c 30 | .RI "int16_t \fBstringTableSize\fP" 31 | .br 32 | .in -1c 33 | .SH "Detailed Description" 34 | .PP 35 | Definition at line 57 of file terminfo\&.h\&. 36 | .SH "Field Documentation" 37 | .PP 38 | .SS "int16_t tidbheader::booleanSize" 39 | 40 | .PP 41 | Definition at line 60 of file terminfo\&.h\&. 42 | .SS "int16_t tidbheader::magic" 43 | 44 | .PP 45 | Definition at line 58 of file terminfo\&.h\&. 46 | .SS "int16_t tidbheader::nameSize" 47 | 48 | .PP 49 | Definition at line 59 of file terminfo\&.h\&. 50 | .SS "int16_t tidbheader::numberSize" 51 | 52 | .PP 53 | Definition at line 61 of file terminfo\&.h\&. 54 | .SS "int16_t tidbheader::offsetStringCount" 55 | 56 | .PP 57 | Definition at line 62 of file terminfo\&.h\&. 58 | .SS "int16_t tidbheader::stringTableSize" 59 | 60 | .PP 61 | Definition at line 63 of file terminfo\&.h\&. 62 | 63 | .SH "Author" 64 | .PP 65 | Generated automatically by Doxygen for Easy Framework from the source code\&. 66 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tigProgress.3: -------------------------------------------------------------------------------- 1 | .TH "tigProgress" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tigProgress 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBtigStatusProgress_e\fP \fBstatus\fP" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBnum\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBnumTotal\fP" 22 | .br 23 | .ti -1c 24 | .RI "const char * \fBstr\fP" 25 | .br 26 | .ti -1c 27 | .RI "\fBtigProgress_f\fP \fBprogress\fP" 28 | .br 29 | .ti -1c 30 | .RI "void * \fBuserdata\fP" 31 | .br 32 | .in -1c 33 | .SH "Detailed Description" 34 | .PP 35 | Definition at line 22 of file tig\&.h\&. 36 | .SH "Field Documentation" 37 | .PP 38 | .SS "size_t tigProgress::num" 39 | current value 40 | .PP 41 | Definition at line 24 of file tig\&.h\&. 42 | .SS "size_t tigProgress::numTotal" 43 | total data 44 | .PP 45 | Definition at line 25 of file tig\&.h\&. 46 | .SS "\fBtigProgress_f\fP tigProgress::progress" 47 | private 48 | .PP 49 | Definition at line 27 of file tig\&.h\&. 50 | .SS "\fBtigStatusProgress_e\fP tigProgress::status" 51 | status of progress 52 | .PP 53 | Definition at line 23 of file tig\&.h\&. 54 | .SS "const char* tigProgress::str" 55 | string contains info 56 | .PP 57 | Definition at line 26 of file tig\&.h\&. 58 | .SS "void* tigProgress::userdata" 59 | userdata for callback 60 | .PP 61 | Definition at line 28 of file tig\&.h\&. 62 | 63 | .SH "Author" 64 | .PP 65 | Generated automatically by Doxygen for Easy Framework from the source code\&. 66 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tls.3: -------------------------------------------------------------------------------- 1 | .TH "tls" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tls 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "const char * \fBhostname\fP" 16 | .br 17 | .ti -1c 18 | .RI "const char * \fBcert\fP" 19 | .br 20 | .ti -1c 21 | .RI "const char * \fBkey\fP" 22 | .br 23 | .ti -1c 24 | .RI "const char * \fBcacert\fP" 25 | .br 26 | .ti -1c 27 | .RI "const char * \fBpassword\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 40 of file socket\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "const char* tls::cacert" 36 | 37 | .PP 38 | Definition at line 44 of file socket\&.h\&. 39 | .SS "const char* tls::cert" 40 | 41 | .PP 42 | Definition at line 42 of file socket\&.h\&. 43 | .SS "const char* tls::hostname" 44 | 45 | .PP 46 | Definition at line 41 of file socket\&.h\&. 47 | .SS "const char* tls::key" 48 | 49 | .PP 50 | Definition at line 43 of file socket\&.h\&. 51 | .SS "const char* tls::password" 52 | 53 | .PP 54 | Definition at line 45 of file socket\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tlsSession.3: -------------------------------------------------------------------------------- 1 | .TH "tlsSession" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tlsSession 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "gnutls_certificate_credentials_t \fBcreds\fP" 16 | .br 17 | .ti -1c 18 | .RI "gnutls_session_t \fBsession\fP" 19 | .br 20 | .ti -1c 21 | .RI "char * \fBhostname\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 48 of file socket\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "gnutls_certificate_credentials_t tlsSession::creds" 30 | 31 | .PP 32 | Definition at line 49 of file socket\&.h\&. 33 | .SS "char* tlsSession::hostname" 34 | 35 | .PP 36 | Definition at line 51 of file socket\&.h\&. 37 | .SS "gnutls_session_t tlsSession::session" 38 | 39 | .PP 40 | Definition at line 50 of file socket\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_trie.3: -------------------------------------------------------------------------------- 1 | .TH "trie" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | trie 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBtrieElement_s\fP \fBroot\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBtrieFree_f\fP \fBfree\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 14 of file trie\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "\fBtrieFree_f\fP trie::free" 27 | < callback free function 28 | .PP 29 | Definition at line 16 of file trie\&.h\&. 30 | .SS "\fBtrieElement_s\fP trie::root" 31 | < root 32 | .PP 33 | Definition at line 15 of file trie\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_trieElement.3: -------------------------------------------------------------------------------- 1 | .TH "trieElement" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | trieElement 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "char * \fBcharset\fP" 16 | .br 17 | .ti -1c 18 | .RI "struct \fBtrieElement\fP * \fBnext\fP" 19 | .br 20 | .ti -1c 21 | .RI "void ** \fBendnode\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 8 of file trie\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "char* trieElement::charset" 30 | array of char 31 | .PP 32 | Definition at line 9 of file trie\&.h\&. 33 | .SS "void** trieElement::endnode" 34 | array of end node 35 | .PP 36 | Definition at line 11 of file trie\&.h\&. 37 | .SS "struct \fBtrieElement\fP* trieElement::next" 38 | array of next element 39 | .PP 40 | Definition at line 10 of file trie\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tuiButton.3: -------------------------------------------------------------------------------- 1 | .TH "tuiButton" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tuiButton 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fButf8_t\fP * \fBstr\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBtuiEventInt_f\fP \fBonpress\fP" 19 | .br 20 | .ti -1c 21 | .RI "void * \fBusrdata\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 6 of file tuiButton\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "\fBtuiEventInt_f\fP tuiButton::onpress" 30 | 31 | .PP 32 | Definition at line 8 of file tuiButton\&.h\&. 33 | .SS "\fButf8_t\fP* tuiButton::str" 34 | 35 | .PP 36 | Definition at line 7 of file tuiButton\&.h\&. 37 | .SS "void* tuiButton::usrdata" 38 | 39 | .PP 40 | Definition at line 9 of file tuiButton\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tuiLabel.3: -------------------------------------------------------------------------------- 1 | .TH "tuiLabel" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tuiLabel 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fButf8_t\fP * \fBstr\fP" 16 | .br 17 | .in -1c 18 | .SH "Detailed Description" 19 | .PP 20 | Definition at line 6 of file tuiLabel\&.h\&. 21 | .SH "Field Documentation" 22 | .PP 23 | .SS "\fButf8_t\fP* tuiLabel::str" 24 | 25 | .PP 26 | Definition at line 7 of file tuiLabel\&.h\&. 27 | 28 | .SH "Author" 29 | .PP 30 | Generated automatically by Doxygen for Easy Framework from the source code\&. 31 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tuiLabel.h.3: -------------------------------------------------------------------------------- 1 | .TH "include/ef/tuiLabel.h" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | include/ef/tuiLabel.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | 12 | .SS "Data Structures" 13 | 14 | .in +1c 15 | .ti -1c 16 | .RI "struct \fBtuiLabel\fP" 17 | .br 18 | .in -1c 19 | .SS "Typedefs" 20 | 21 | .in +1c 22 | .ti -1c 23 | .RI "typedef struct \fBtuiLabel\fP \fBtuiLabel_s\fP" 24 | .br 25 | .in -1c 26 | .SS "Functions" 27 | 28 | .in +1c 29 | .ti -1c 30 | .RI "void \fBtui_label_event_draw\fP (\fBtui_s\fP *\fBtui\fP)" 31 | .br 32 | .ti -1c 33 | .RI "\fBtui_s\fP * \fBtui_label_new\fP (\fBtui_s\fP *parent, int id, \fButf8_t\fP *name, int border, int r, int c, int width, int height)" 34 | .br 35 | .ti -1c 36 | .RI "void \fBtui_label_set\fP (\fBtui_s\fP *tl, const \fButf8_t\fP *str)" 37 | .br 38 | .in -1c 39 | .SH "Typedef Documentation" 40 | .PP 41 | .SS "typedef struct \fBtuiLabel\fP \fBtuiLabel_s\fP" 42 | 43 | .SH "Function Documentation" 44 | .PP 45 | .SS "void tui_label_event_draw (\fBtui_s\fP * tui)" 46 | event label draw 47 | .SS "\fBtui_s\fP* tui_label_new (\fBtui_s\fP * parent, int id, \fButf8_t\fP * name, int border, int r, int c, int width, int height)" 48 | create new label 49 | .SS "void tui_label_set (\fBtui_s\fP * tl, const \fButf8_t\fP * str)" 50 | set label caption 51 | .SH "Author" 52 | .PP 53 | Generated automatically by Doxygen for Easy Framework from the source code\&. 54 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tuiList.3: -------------------------------------------------------------------------------- 1 | .TH "tuiList" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tuiList 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBtuiListElement_s\fP * \fBelements\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBtuiListMode_e\fP \fBmode\fP" 19 | .br 20 | .ti -1c 21 | .RI "\fBtuiListType_e\fP \fBtype\fP" 22 | .br 23 | .ti -1c 24 | .RI "unsigned \fBsel\fP" 25 | .br 26 | .ti -1c 27 | .RI "size_t \fBscrollRow\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 19 of file tuiList\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "\fBtuiListElement_s\fP* tuiList::elements" 36 | 37 | .PP 38 | Definition at line 20 of file tuiList\&.h\&. 39 | .SS "\fBtuiListMode_e\fP tuiList::mode" 40 | 41 | .PP 42 | Definition at line 21 of file tuiList\&.h\&. 43 | .SS "size_t tuiList::scrollRow" 44 | 45 | .PP 46 | Definition at line 24 of file tuiList\&.h\&. 47 | .SS "unsigned tuiList::sel" 48 | 49 | .PP 50 | Definition at line 23 of file tuiList\&.h\&. 51 | .SS "\fBtuiListType_e\fP tuiList::type" 52 | 53 | .PP 54 | Definition at line 22 of file tuiList\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tuiListElement.3: -------------------------------------------------------------------------------- 1 | .TH "tuiListElement" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tuiListElement 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fButf8_t\fP * \fBname\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBval\fP" 19 | .br 20 | .ti -1c 21 | .RI "int \fBr\fP" 22 | .br 23 | .ti -1c 24 | .RI "int \fBc\fP" 25 | .br 26 | .ti -1c 27 | .RI "void * \fBusrdata\fP" 28 | .br 29 | .ti -1c 30 | .RI "\fBtuiEventInt_f\fP \fBonpress\fP" 31 | .br 32 | .in -1c 33 | .SH "Detailed Description" 34 | .PP 35 | Definition at line 10 of file tuiList\&.h\&. 36 | .SH "Field Documentation" 37 | .PP 38 | .SS "int tuiListElement::c" 39 | 40 | .PP 41 | Definition at line 14 of file tuiList\&.h\&. 42 | .SS "\fButf8_t\fP* tuiListElement::name" 43 | 44 | .PP 45 | Definition at line 11 of file tuiList\&.h\&. 46 | .SS "\fBtuiEventInt_f\fP tuiListElement::onpress" 47 | 48 | .PP 49 | Definition at line 16 of file tuiList\&.h\&. 50 | .SS "int tuiListElement::r" 51 | 52 | .PP 53 | Definition at line 13 of file tuiList\&.h\&. 54 | .SS "void* tuiListElement::usrdata" 55 | 56 | .PP 57 | Definition at line 15 of file tuiList\&.h\&. 58 | .SS "int tuiListElement::val" 59 | 60 | .PP 61 | Definition at line 12 of file tuiList\&.h\&. 62 | 63 | .SH "Author" 64 | .PP 65 | Generated automatically by Doxygen for Easy Framework from the source code\&. 66 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tuiPosition.3: -------------------------------------------------------------------------------- 1 | .TH "tuiPosition" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tuiPosition 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBr\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBc\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 71 of file tui\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "int tuiPosition::c" 27 | 28 | .PP 29 | Definition at line 73 of file tui\&.h\&. 30 | .SS "int tuiPosition::r" 31 | 32 | .PP 33 | Definition at line 72 of file tui\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tuiRoot.3: -------------------------------------------------------------------------------- 1 | .TH "tuiRoot" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tuiRoot 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBtui_s\fP * \fBfocus\fP" 16 | .br 17 | .in -1c 18 | .SH "Detailed Description" 19 | .PP 20 | Definition at line 6 of file tuiRoot\&.h\&. 21 | .SH "Field Documentation" 22 | .PP 23 | .SS "\fBtui_s\fP* tuiRoot::focus" 24 | 25 | .PP 26 | Definition at line 7 of file tuiRoot\&.h\&. 27 | 28 | .SH "Author" 29 | .PP 30 | Generated automatically by Doxygen for Easy Framework from the source code\&. 31 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tuiSize.3: -------------------------------------------------------------------------------- 1 | .TH "tuiSize" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tuiSize 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBwidth\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBheight\fP" 19 | .br 20 | .in -1c 21 | .SH "Detailed Description" 22 | .PP 23 | Definition at line 76 of file tui\&.h\&. 24 | .SH "Field Documentation" 25 | .PP 26 | .SS "int tuiSize::height" 27 | 28 | .PP 29 | Definition at line 78 of file tui\&.h\&. 30 | .SS "int tuiSize::width" 31 | 32 | .PP 33 | Definition at line 77 of file tui\&.h\&. 34 | 35 | .SH "Author" 36 | .PP 37 | Generated automatically by Doxygen for Easy Framework from the source code\&. 38 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tuiText.h.3: -------------------------------------------------------------------------------- 1 | .TH "include/ef/tuiText.h" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | include/ef/tuiText.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | 12 | .SS "Functions" 13 | 14 | .in +1c 15 | .ti -1c 16 | .RI "void \fBtui_text_event_draw\fP (\fBtui_s\fP *\fBtui\fP)" 17 | .br 18 | .ti -1c 19 | .RI "int \fBtui_text_event_key\fP (\fBtui_s\fP *txt, \fBtermKey_s\fP key)" 20 | .br 21 | .ti -1c 22 | .RI "\fBtui_s\fP * \fBtui_text_new\fP (\fBtui_s\fP *parent, int id, \fButf8_t\fP *name, int border, int r, int c, int width, int height)" 23 | .br 24 | .ti -1c 25 | .RI "\fBtermReadLine_s\fP * \fBtui_text_readline\fP (\fBtui_s\fP *\fBtui\fP)" 26 | .br 27 | .in -1c 28 | .SH "Function Documentation" 29 | .PP 30 | .SS "void tui_text_event_draw (\fBtui_s\fP * tui)" 31 | event draw 32 | .SS "int tui_text_event_key (\fBtui_s\fP * txt, \fBtermKey_s\fP key)" 33 | event key 34 | .SS "\fBtui_s\fP* tui_text_new (\fBtui_s\fP * parent, int id, \fButf8_t\fP * name, int border, int r, int c, int width, int height)" 35 | create new teu text 36 | .SS "\fBtermReadLine_s\fP* tui_text_readline (\fBtui_s\fP * tui)" 37 | get readline object from tui 38 | .SH "Author" 39 | .PP 40 | Generated automatically by Doxygen for Easy Framework from the source code\&. 41 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tuiWindow.3: -------------------------------------------------------------------------------- 1 | .TH "tuiWindow" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tuiWindow 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBunused\fP" 16 | .br 17 | .in -1c 18 | .SH "Detailed Description" 19 | .PP 20 | Definition at line 6 of file tuiWindow\&.h\&. 21 | .SH "Field Documentation" 22 | .PP 23 | .SS "int tuiWindow::unused" 24 | 25 | .PP 26 | Definition at line 7 of file tuiWindow\&.h\&. 27 | 28 | .SH "Author" 29 | .PP 30 | Generated automatically by Doxygen for Easy Framework from the source code\&. 31 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tuiWindow.h.3: -------------------------------------------------------------------------------- 1 | .TH "include/ef/tuiWindow.h" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | include/ef/tuiWindow.h 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | \fC#include \fP 10 | .br 11 | 12 | .SS "Data Structures" 13 | 14 | .in +1c 15 | .ti -1c 16 | .RI "struct \fBtuiWindow\fP" 17 | .br 18 | .in -1c 19 | .SS "Typedefs" 20 | 21 | .in +1c 22 | .ti -1c 23 | .RI "typedef struct \fBtuiWindow\fP \fBtuiWindow_s\fP" 24 | .br 25 | .in -1c 26 | .SS "Functions" 27 | 28 | .in +1c 29 | .ti -1c 30 | .RI "\fBtui_s\fP * \fBtui_window_new\fP (\fBtui_s\fP *parent, int id, \fButf8_t\fP *name, int border, int r, int c, int width, int height)" 31 | .br 32 | .ti -1c 33 | .RI "int \fBtui_window_msgbox\fP (\fBtui_s\fP *root, int id, \fButf8_t\fP *name, int border, int r, int c, int w, int h, \fButf8_t\fP *text, \fButf8_t\fP **buttonName, unsigned buttonCount)" 34 | .br 35 | .in -1c 36 | .SH "Typedef Documentation" 37 | .PP 38 | .SS "typedef struct \fBtuiWindow\fP \fBtuiWindow_s\fP" 39 | 40 | .SH "Function Documentation" 41 | .PP 42 | .SS "int tui_window_msgbox (\fBtui_s\fP * root, int id, \fButf8_t\fP * name, int border, int r, int c, int w, int h, \fButf8_t\fP * text, \fButf8_t\fP ** buttonName, unsigned buttonCount)" 43 | create a message box 44 | .SS "\fBtui_s\fP* tui_window_new (\fBtui_s\fP * parent, int id, \fButf8_t\fP * name, int border, int r, int c, int width, int height)" 45 | create new window 46 | .SH "Author" 47 | .PP 48 | Generated automatically by Doxygen for Easy Framework from the source code\&. 49 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_tvariable.3: -------------------------------------------------------------------------------- 1 | .TH "tvariable" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | tvariable 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "union {" 16 | .br 17 | .ti -1c 18 | .RI " long \fBl\fP" 19 | .br 20 | .ti -1c 21 | .RI " char * \fBs\fP" 22 | .br 23 | .ti -1c 24 | .RI "}; " 25 | .br 26 | .ti -1c 27 | .RI "int \fBtype\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 80 of file terminfo\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "union { \&.\&.\&. } " 36 | 37 | .SS "long tvariable::l" 38 | 39 | .PP 40 | Definition at line 82 of file terminfo\&.h\&. 41 | .SS "char* tvariable::s" 42 | 43 | .PP 44 | Definition at line 83 of file terminfo\&.h\&. 45 | .SS "int tvariable::type" 46 | 47 | .PP 48 | Definition at line 85 of file terminfo\&.h\&. 49 | 50 | .SH "Author" 51 | .PP 52 | Generated automatically by Doxygen for Easy Framework from the source code\&. 53 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_utf8Iterator.3: -------------------------------------------------------------------------------- 1 | .TH "utf8Iterator" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | utf8Iterator 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fButf8_t\fP * \fBbegin\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fButf8_t\fP * \fBstr\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBid\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | obj iterator 27 | .PP 28 | Definition at line 40 of file utf8\&.h\&. 29 | .SH "Field Documentation" 30 | .PP 31 | .SS "\fButf8_t\fP* utf8Iterator::begin" 32 | begin of string 33 | .PP 34 | Definition at line 41 of file utf8\&.h\&. 35 | .SS "size_t utf8Iterator::id" 36 | index 37 | .PP 38 | Definition at line 43 of file utf8\&.h\&. 39 | .SS "\fButf8_t\fP* utf8Iterator::str" 40 | cursor string 41 | .PP 42 | Definition at line 42 of file utf8\&.h\&. 43 | 44 | .SH "Author" 45 | .PP 46 | Generated automatically by Doxygen for Easy Framework from the source code\&. 47 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_valign.3: -------------------------------------------------------------------------------- 1 | .TH "valign" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | valign 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "size_t \fBpre\fP" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBaligned\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBpost\fP" 22 | .br 23 | .ti -1c 24 | .RI "size_t \fBstart\fP" 25 | .br 26 | .ti -1c 27 | .RI "size_t \fBend\fP" 28 | .br 29 | .ti -1c 30 | .RI "void * \fBscalarpre\fP" 31 | .br 32 | .ti -1c 33 | .RI "void * \fBscalarpost\fP" 34 | .br 35 | .ti -1c 36 | .RI "void * \fBvector\fP" 37 | .br 38 | .in -1c 39 | .SH "Detailed Description" 40 | .PP 41 | Definition at line 6 of file vectorization\&.h\&. 42 | .SH "Field Documentation" 43 | .PP 44 | .SS "size_t valign::aligned" 45 | 46 | .PP 47 | Definition at line 8 of file vectorization\&.h\&. 48 | .SS "size_t valign::end" 49 | 50 | .PP 51 | Definition at line 11 of file vectorization\&.h\&. 52 | .SS "size_t valign::post" 53 | 54 | .PP 55 | Definition at line 9 of file vectorization\&.h\&. 56 | .SS "size_t valign::pre" 57 | 58 | .PP 59 | Definition at line 7 of file vectorization\&.h\&. 60 | .SS "void* valign::scalarpost" 61 | 62 | .PP 63 | Definition at line 13 of file vectorization\&.h\&. 64 | .SS "void* valign::scalarpre" 65 | 66 | .PP 67 | Definition at line 12 of file vectorization\&.h\&. 68 | .SS "size_t valign::start" 69 | 70 | .PP 71 | Definition at line 10 of file vectorization\&.h\&. 72 | .SS "void* valign::vector" 73 | 74 | .PP 75 | Definition at line 14 of file vectorization\&.h\&. 76 | 77 | .SH "Author" 78 | .PP 79 | Generated automatically by Doxygen for Easy Framework from the source code\&. 80 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_vector.3: -------------------------------------------------------------------------------- 1 | .TH "vector" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | vector 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "size_t \fBsize\fP" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBcount\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBsof\fP" 22 | .br 23 | .ti -1c 24 | .RI "\fBvfree_f\fP \fBfn\fP" 25 | .br 26 | .ti -1c 27 | .RI "void * \fBelement\fP [0]" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 9 of file vector\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "size_t vector::count" 36 | used object 37 | .PP 38 | Definition at line 11 of file vector\&.h\&. 39 | .SS "void* vector::element[0]" 40 | pointer to mem 41 | .PP 42 | Definition at line 14 of file vector\&.h\&. 43 | .SS "\fBvfree_f\fP vector::fn" 44 | cleanup function 45 | .PP 46 | Definition at line 13 of file vector\&.h\&. 47 | .SS "size_t vector::size" 48 | size of allocated mem 49 | .PP 50 | Definition at line 10 of file vector\&.h\&. 51 | .SS "size_t vector::sof" 52 | sizeof type 53 | .PP 54 | Definition at line 12 of file vector\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_www.3: -------------------------------------------------------------------------------- 1 | .TH "www" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | www 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "CURL * \fBh\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBwwwBuffer_s\fP \fBheader\fP" 19 | .br 20 | .ti -1c 21 | .RI "\fBwwwBuffer_s\fP \fBbody\fP" 22 | .br 23 | .ti -1c 24 | .RI "struct curl_slist * \fBhlist\fP" 25 | .br 26 | .ti -1c 27 | .RI "char * \fBcustomRQ\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 67 of file www\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "\fBwwwBuffer_s\fP www::body" 36 | 37 | .PP 38 | Definition at line 70 of file www\&.h\&. 39 | .SS "char* www::customRQ" 40 | 41 | .PP 42 | Definition at line 72 of file www\&.h\&. 43 | .SS "CURL* www::h" 44 | 45 | .PP 46 | Definition at line 68 of file www\&.h\&. 47 | .SS "\fBwwwBuffer_s\fP www::header" 48 | 49 | .PP 50 | Definition at line 69 of file www\&.h\&. 51 | .SS "struct curl_slist* www::hlist" 52 | 53 | .PP 54 | Definition at line 71 of file www\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_wwwBuffer_s.3: -------------------------------------------------------------------------------- 1 | .TH "wwwBuffer_s" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | wwwBuffer_s 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "char * \fBbuf\fP" 16 | .br 17 | .ti -1c 18 | .RI "size_t \fBsize\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBlen\fP" 22 | .br 23 | .ti -1c 24 | .RI "size_t \fBoffset\fP" 25 | .br 26 | .ti -1c 27 | .RI "size_t \fBupto\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 33 of file www\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "char* wwwBuffer_s::buf" 36 | 37 | .PP 38 | Definition at line 34 of file www\&.h\&. 39 | .SS "size_t wwwBuffer_s::len" 40 | 41 | .PP 42 | Definition at line 36 of file www\&.h\&. 43 | .SS "size_t wwwBuffer_s::offset" 44 | 45 | .PP 46 | Definition at line 37 of file www\&.h\&. 47 | .SS "size_t wwwBuffer_s::size" 48 | 49 | .PP 50 | Definition at line 35 of file www\&.h\&. 51 | .SS "size_t wwwBuffer_s::upto" 52 | 53 | .PP 54 | Definition at line 38 of file www\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_wwwProgress.3: -------------------------------------------------------------------------------- 1 | .TH "wwwProgress" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | wwwProgress 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBwwwprogress_f\fP \fBupload\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBwwwprogress_f\fP \fBdownload\fP" 19 | .br 20 | .ti -1c 21 | .RI "const char * \fBname\fP" 22 | .br 23 | .ti -1c 24 | .RI "double \fBtime\fP" 25 | .br 26 | .ti -1c 27 | .RI "double \fBdown\fP" 28 | .br 29 | .ti -1c 30 | .RI "double \fBup\fP" 31 | .br 32 | .in -1c 33 | .SH "Detailed Description" 34 | .PP 35 | Definition at line 58 of file www\&.h\&. 36 | .SH "Field Documentation" 37 | .PP 38 | .SS "double wwwProgress::down" 39 | private remember to set 0 40 | .PP 41 | Definition at line 63 of file www\&.h\&. 42 | .SS "\fBwwwprogress_f\fP wwwProgress::download" 43 | callback dowload 44 | .PP 45 | Definition at line 60 of file www\&.h\&. 46 | .SS "const char* wwwProgress::name" 47 | name passed to callback 48 | .PP 49 | Definition at line 61 of file www\&.h\&. 50 | .SS "double wwwProgress::time" 51 | private remember to set 0 52 | .PP 53 | Definition at line 62 of file www\&.h\&. 54 | .SS "double wwwProgress::up" 55 | private remember to set 0 56 | .PP 57 | Definition at line 64 of file www\&.h\&. 58 | .SS "\fBwwwprogress_f\fP wwwProgress::upload" 59 | callback upload 60 | .PP 61 | Definition at line 59 of file www\&.h\&. 62 | 63 | .SH "Author" 64 | .PP 65 | Generated automatically by Doxygen for Easy Framework from the source code\&. 66 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_xkb.3: -------------------------------------------------------------------------------- 1 | .TH "xkb" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | xkb 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "struct xkb_context * \fBctx\fP" 16 | .br 17 | .ti -1c 18 | .RI "struct xkb_keymap * \fBkeymap\fP" 19 | .br 20 | .ti -1c 21 | .RI "int \fBdevice\fP" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 145 of file xorg\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "struct xkb_context* xkb::ctx" 30 | 31 | .PP 32 | Definition at line 146 of file xorg\&.h\&. 33 | .SS "int xkb::device" 34 | 35 | .PP 36 | Definition at line 148 of file xorg\&.h\&. 37 | .SS "struct xkb_keymap* xkb::keymap" 38 | 39 | .PP 40 | Definition at line 147 of file xorg\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_xorgClient.3: -------------------------------------------------------------------------------- 1 | .TH "xorgClient" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | xorgClient 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "xcb_atom_t \fBtype\fP" 16 | .br 17 | .ti -1c 18 | .RI "uint8_t \fBformat\fP" 19 | .br 20 | .ti -1c 21 | .RI "uint8_t \fBdata\fP [20]" 22 | .br 23 | .in -1c 24 | .SH "Detailed Description" 25 | .PP 26 | Definition at line 335 of file xorg\&.h\&. 27 | .SH "Field Documentation" 28 | .PP 29 | .SS "uint8_t xorgClient::data[20]" 30 | 31 | .PP 32 | Definition at line 338 of file xorg\&.h\&. 33 | .SS "uint8_t xorgClient::format" 34 | 35 | .PP 36 | Definition at line 337 of file xorg\&.h\&. 37 | .SS "xcb_atom_t xorgClient::type" 38 | 39 | .PP 40 | Definition at line 336 of file xorg\&.h\&. 41 | 42 | .SH "Author" 43 | .PP 44 | Generated automatically by Doxygen for Easy Framework from the source code\&. 45 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_xorgClipboard.3: -------------------------------------------------------------------------------- 1 | .TH "xorgClipboard" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | xorgClipboard 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBeventPaste\fP" 16 | .br 17 | .ti -1c 18 | .RI "xcb_window_t \fBrequestor\fP" 19 | .br 20 | .ti -1c 21 | .RI "xcb_atom_t \fBproperty\fP" 22 | .br 23 | .ti -1c 24 | .RI "xcb_atom_t \fBtype\fP" 25 | .br 26 | .ti -1c 27 | .RI "int \fBprimary\fP" 28 | .br 29 | .ti -1c 30 | .RI "void * \fBdata\fP" 31 | .br 32 | .ti -1c 33 | .RI "size_t \fBsize\fP" 34 | .br 35 | .in -1c 36 | .SH "Detailed Description" 37 | .PP 38 | Definition at line 341 of file xorg\&.h\&. 39 | .SH "Field Documentation" 40 | .PP 41 | .SS "void* xorgClipboard::data" 42 | 43 | .PP 44 | Definition at line 347 of file xorg\&.h\&. 45 | .SS "int xorgClipboard::eventPaste" 46 | 47 | .PP 48 | Definition at line 342 of file xorg\&.h\&. 49 | .SS "int xorgClipboard::primary" 50 | 51 | .PP 52 | Definition at line 346 of file xorg\&.h\&. 53 | .SS "xcb_atom_t xorgClipboard::property" 54 | 55 | .PP 56 | Definition at line 344 of file xorg\&.h\&. 57 | .SS "xcb_window_t xorgClipboard::requestor" 58 | 59 | .PP 60 | Definition at line 343 of file xorg\&.h\&. 61 | .SS "size_t xorgClipboard::size" 62 | 63 | .PP 64 | Definition at line 348 of file xorg\&.h\&. 65 | .SS "xcb_atom_t xorgClipboard::type" 66 | 67 | .PP 68 | Definition at line 345 of file xorg\&.h\&. 69 | 70 | .SH "Author" 71 | .PP 72 | Generated automatically by Doxygen for Easy Framework from the source code\&. 73 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_xorgCreate.3: -------------------------------------------------------------------------------- 1 | .TH "xorgCreate" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | xorgCreate 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBx\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBy\fP" 19 | .br 20 | .ti -1c 21 | .RI "int \fBw\fP" 22 | .br 23 | .ti -1c 24 | .RI "int \fBh\fP" 25 | .br 26 | .ti -1c 27 | .RI "int \fBborder\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 308 of file xorg\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "int xorgCreate::border" 36 | 37 | .PP 38 | Definition at line 313 of file xorg\&.h\&. 39 | .SS "int xorgCreate::h" 40 | 41 | .PP 42 | Definition at line 312 of file xorg\&.h\&. 43 | .SS "int xorgCreate::w" 44 | 45 | .PP 46 | Definition at line 311 of file xorg\&.h\&. 47 | .SS "int xorgCreate::x" 48 | 49 | .PP 50 | Definition at line 309 of file xorg\&.h\&. 51 | .SS "int xorgCreate::y" 52 | 53 | .PP 54 | Definition at line 310 of file xorg\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_xorgDraw.3: -------------------------------------------------------------------------------- 1 | .TH "xorgDraw" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | xorgDraw 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBx\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBy\fP" 19 | .br 20 | .ti -1c 21 | .RI "int \fBw\fP" 22 | .br 23 | .ti -1c 24 | .RI "int \fBh\fP" 25 | .br 26 | .in -1c 27 | .SH "Detailed Description" 28 | .PP 29 | Definition at line 316 of file xorg\&.h\&. 30 | .SH "Field Documentation" 31 | .PP 32 | .SS "int xorgDraw::h" 33 | 34 | .PP 35 | Definition at line 320 of file xorg\&.h\&. 36 | .SS "int xorgDraw::w" 37 | 38 | .PP 39 | Definition at line 319 of file xorg\&.h\&. 40 | .SS "int xorgDraw::x" 41 | 42 | .PP 43 | Definition at line 317 of file xorg\&.h\&. 44 | .SS "int xorgDraw::y" 45 | 46 | .PP 47 | Definition at line 318 of file xorg\&.h\&. 48 | 49 | .SH "Author" 50 | .PP 51 | Generated automatically by Doxygen for Easy Framework from the source code\&. 52 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_xorgFocus.3: -------------------------------------------------------------------------------- 1 | .TH "xorgFocus" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | xorgFocus 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBoutin\fP" 16 | .br 17 | .in -1c 18 | .SH "Detailed Description" 19 | .PP 20 | Definition at line 323 of file xorg\&.h\&. 21 | .SH "Field Documentation" 22 | .PP 23 | .SS "int xorgFocus::outin" 24 | 25 | .PP 26 | Definition at line 324 of file xorg\&.h\&. 27 | 28 | .SH "Author" 29 | .PP 30 | Generated automatically by Doxygen for Easy Framework from the source code\&. 31 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_xorgMouse.3: -------------------------------------------------------------------------------- 1 | .TH "xorgMouse" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | xorgMouse 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "\fBxorgMouse_e\fP \fBevent\fP" 16 | .br 17 | .ti -1c 18 | .RI "\fBg2dPoint_s\fP \fBabsolute\fP" 19 | .br 20 | .ti -1c 21 | .RI "\fBg2dPoint_s\fP \fBrelative\fP" 22 | .br 23 | .ti -1c 24 | .RI "unsigned \fBbutton\fP" 25 | .br 26 | .ti -1c 27 | .RI "unsigned \fBkey\fP" 28 | .br 29 | .ti -1c 30 | .RI "long \fBtime\fP" 31 | .br 32 | .in -1c 33 | .SH "Detailed Description" 34 | .PP 35 | Definition at line 258 of file xorg\&.h\&. 36 | .SH "Field Documentation" 37 | .PP 38 | .SS "\fBg2dPoint_s\fP xorgMouse::absolute" 39 | 40 | .PP 41 | Definition at line 260 of file xorg\&.h\&. 42 | .SS "unsigned xorgMouse::button" 43 | 44 | .PP 45 | Definition at line 262 of file xorg\&.h\&. 46 | .SS "\fBxorgMouse_e\fP xorgMouse::event" 47 | 48 | .PP 49 | Definition at line 259 of file xorg\&.h\&. 50 | .SS "unsigned xorgMouse::key" 51 | 52 | .PP 53 | Definition at line 263 of file xorg\&.h\&. 54 | .SS "\fBg2dPoint_s\fP xorgMouse::relative" 55 | 56 | .PP 57 | Definition at line 261 of file xorg\&.h\&. 58 | .SS "long xorgMouse::time" 59 | 60 | .PP 61 | Definition at line 264 of file xorg\&.h\&. 62 | 63 | .SH "Author" 64 | .PP 65 | Generated automatically by Doxygen for Easy Framework from the source code\&. 66 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_xorgMove.3: -------------------------------------------------------------------------------- 1 | .TH "xorgMove" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | xorgMove 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBx\fP" 16 | .br 17 | .ti -1c 18 | .RI "int \fBy\fP" 19 | .br 20 | .ti -1c 21 | .RI "unsigned \fBw\fP" 22 | .br 23 | .ti -1c 24 | .RI "unsigned \fBh\fP" 25 | .br 26 | .ti -1c 27 | .RI "unsigned \fBborder\fP" 28 | .br 29 | .in -1c 30 | .SH "Detailed Description" 31 | .PP 32 | Definition at line 300 of file xorg\&.h\&. 33 | .SH "Field Documentation" 34 | .PP 35 | .SS "unsigned xorgMove::border" 36 | 37 | .PP 38 | Definition at line 305 of file xorg\&.h\&. 39 | .SS "unsigned xorgMove::h" 40 | 41 | .PP 42 | Definition at line 304 of file xorg\&.h\&. 43 | .SS "unsigned xorgMove::w" 44 | 45 | .PP 46 | Definition at line 303 of file xorg\&.h\&. 47 | .SS "int xorgMove::x" 48 | 49 | .PP 50 | Definition at line 301 of file xorg\&.h\&. 51 | .SS "int xorgMove::y" 52 | 53 | .PP 54 | Definition at line 302 of file xorg\&.h\&. 55 | 56 | .SH "Author" 57 | .PP 58 | Generated automatically by Doxygen for Easy Framework from the source code\&. 59 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_xorgProperty.3: -------------------------------------------------------------------------------- 1 | .TH "xorgProperty" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | xorgProperty 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "xcb_atom_t \fBatom\fP" 16 | .br 17 | .in -1c 18 | .SH "Detailed Description" 19 | .PP 20 | Definition at line 331 of file xorg\&.h\&. 21 | .SH "Field Documentation" 22 | .PP 23 | .SS "xcb_atom_t xorgProperty::atom" 24 | 25 | .PP 26 | Definition at line 332 of file xorg\&.h\&. 27 | 28 | .SH "Author" 29 | .PP 30 | Generated automatically by Doxygen for Easy Framework from the source code\&. 31 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_xorgSurface.3: -------------------------------------------------------------------------------- 1 | .TH "xorgSurface" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | xorgSurface 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "xcb_gcontext_t \fBgc\fP" 16 | .br 17 | .ti -1c 18 | .RI "xcb_shm_segment_info_t \fBshmi\fP" 19 | .br 20 | .ti -1c 21 | .RI "size_t \fBshmsize\fP" 22 | .br 23 | .ti -1c 24 | .RI "size_t \fBoffsetAlign\fP" 25 | .br 26 | .ti -1c 27 | .RI "xcb_image_t * \fBximage\fP" 28 | .br 29 | .ti -1c 30 | .RI "\fBg2dImage_s\fP * \fBimg\fP" 31 | .br 32 | .in -1c 33 | .SH "Detailed Description" 34 | .PP 35 | Definition at line 151 of file xorg\&.h\&. 36 | .SH "Field Documentation" 37 | .PP 38 | .SS "xcb_gcontext_t xorgSurface::gc" 39 | 40 | .PP 41 | Definition at line 152 of file xorg\&.h\&. 42 | .SS "\fBg2dImage_s\fP* xorgSurface::img" 43 | 44 | .PP 45 | Definition at line 157 of file xorg\&.h\&. 46 | .SS "size_t xorgSurface::offsetAlign" 47 | 48 | .PP 49 | Definition at line 155 of file xorg\&.h\&. 50 | .SS "xcb_shm_segment_info_t xorgSurface::shmi" 51 | 52 | .PP 53 | Definition at line 153 of file xorg\&.h\&. 54 | .SS "size_t xorgSurface::shmsize" 55 | 56 | .PP 57 | Definition at line 154 of file xorg\&.h\&. 58 | .SS "xcb_image_t* xorgSurface::ximage" 59 | 60 | .PP 61 | Definition at line 156 of file xorg\&.h\&. 62 | 63 | .SH "Author" 64 | .PP 65 | Generated automatically by Doxygen for Easy Framework from the source code\&. 66 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_xorgUserData.3: -------------------------------------------------------------------------------- 1 | .TH "xorgUserData" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | xorgUserData 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBtype\fP" 16 | .br 17 | .ti -1c 18 | .RI "void * \fBrequest\fP" 19 | .br 20 | .ti -1c 21 | .RI "void * \fBdata\fP" 22 | .br 23 | .ti -1c 24 | .RI "size_t \fBsize\fP" 25 | .br 26 | .in -1c 27 | .SH "Detailed Description" 28 | .PP 29 | Definition at line 351 of file xorg\&.h\&. 30 | .SH "Field Documentation" 31 | .PP 32 | .SS "void* xorgUserData::data" 33 | 34 | .PP 35 | Definition at line 354 of file xorg\&.h\&. 36 | .SS "void* xorgUserData::request" 37 | 38 | .PP 39 | Definition at line 353 of file xorg\&.h\&. 40 | .SS "size_t xorgUserData::size" 41 | 42 | .PP 43 | Definition at line 355 of file xorg\&.h\&. 44 | .SS "int xorgUserData::type" 45 | 46 | .PP 47 | Definition at line 352 of file xorg\&.h\&. 48 | 49 | .SH "Author" 50 | .PP 51 | Generated automatically by Doxygen for Easy Framework from the source code\&. 52 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_xorgVisible.3: -------------------------------------------------------------------------------- 1 | .TH "xorgVisible" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | xorgVisible 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "int \fBvisible\fP" 16 | .br 17 | .in -1c 18 | .SH "Detailed Description" 19 | .PP 20 | Definition at line 327 of file xorg\&.h\&. 21 | .SH "Field Documentation" 22 | .PP 23 | .SS "int xorgVisible::visible" 24 | 25 | .PP 26 | Definition at line 328 of file xorg\&.h\&. 27 | 28 | .SH "Author" 29 | .PP 30 | Generated automatically by Doxygen for Easy Framework from the source code\&. 31 | -------------------------------------------------------------------------------- /documentation/man/man3/ef_xorgWindowStrut.3: -------------------------------------------------------------------------------- 1 | .TH "xorgWindowStrut" 3 "Fri May 15 2020" "Version 0.4.5" "Easy Framework" \" -*- nroff -*- 2 | .ad l 3 | .nh 4 | .SH NAME 5 | xorgWindowStrut 6 | .SH SYNOPSIS 7 | .br 8 | .PP 9 | .PP 10 | \fC#include \fP 11 | .SS "Data Fields" 12 | 13 | .in +1c 14 | .ti -1c 15 | .RI "unsigned \fBleft\fP" 16 | .br 17 | .ti -1c 18 | .RI "unsigned \fBright\fP" 19 | .br 20 | .ti -1c 21 | .RI "unsigned \fBtop\fP" 22 | .br 23 | .ti -1c 24 | .RI "unsigned \fBbottom\fP" 25 | .br 26 | .in -1c 27 | .SH "Detailed Description" 28 | .PP 29 | Definition at line 200 of file xorg\&.h\&. 30 | .SH "Field Documentation" 31 | .PP 32 | .SS "unsigned xorgWindowStrut::bottom" 33 | 34 | .PP 35 | Definition at line 201 of file xorg\&.h\&. 36 | .SS "unsigned xorgWindowStrut::left" 37 | 38 | .PP 39 | Definition at line 201 of file xorg\&.h\&. 40 | .SS "unsigned xorgWindowStrut::right" 41 | 42 | .PP 43 | Definition at line 201 of file xorg\&.h\&. 44 | .SS "unsigned xorgWindowStrut::top" 45 | 46 | .PP 47 | Definition at line 201 of file xorg\&.h\&. 48 | 49 | .SH "Author" 50 | .PP 51 | Generated automatically by Doxygen for Easy Framework from the source code\&. 52 | -------------------------------------------------------------------------------- /ef-term-extend/e/ef-term-extend: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vbextreme/EasyFramework/c874e76f2794e9459764c61d2a222de8adf97a35/ef-term-extend/e/ef-term-extend -------------------------------------------------------------------------------- /ef/file/dir.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | void dir_close_auto(dir_s** dir){ 5 | if( *dir == NULL ) return; 6 | dir_close(*dir); 7 | *dir = NULL; 8 | } 9 | 10 | int dirent_currentback(dirent_s* ent){ 11 | int ret = 0; 12 | const char* name = ent->d_name; 13 | if( *name == '.' ){ 14 | ++ret; 15 | ++name; 16 | } 17 | if( *name == '.' ){ 18 | ++ret; 19 | ++name; 20 | } 21 | return *name == 0 ? ret : 0; 22 | } 23 | 24 | -------------------------------------------------------------------------------- /ef/file/file.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | char const* file_extension(char const* name){ 5 | size_t p = strlen(name)-1; 6 | while( p > 0 && name[p] != '.' ) --p; 7 | return name[p] == '.' ? &name[p+1] : NULL; 8 | } 9 | 10 | int file_exists(const char* path){ 11 | stat_s b; 12 | if( stat(path, &b) ){ 13 | err_push("file %s not exist", path); 14 | return 0; 15 | } 16 | return 1; 17 | } 18 | 19 | void file_close_auto(file_t** file){ 20 | if( *file == NULL ){ 21 | return; 22 | } 23 | fclose(*file); 24 | *file = NULL; 25 | } 26 | 27 | FILE* file_dup(FILE* file, char* mode){ 28 | int fd = fileno(file); 29 | int newfd = dup(fd); 30 | return fdopen(newfd, mode); 31 | } 32 | 33 | __private err_t rec_rm(char* path){ 34 | __dir_close dir_s* local = dir_open(path); 35 | if( local == NULL ){ 36 | dbg_error("open dir %s", path); 37 | dbg_errno(); 38 | return -1; 39 | } 40 | 41 | const size_t plen = strlen(path); 42 | dir_foreach(local, file){ 43 | if( dirent_type(file) == FILE_DIRECTORY ){ 44 | if( dirent_currentback(file) ) continue; 45 | if( path_add(path, dirent_name(file)) ) return -1; 46 | if( rec_rm(path) ) return -1; 47 | } 48 | else{ 49 | if( path_add(path, dirent_name(file)) ) return -1; 50 | unlink(path); 51 | } 52 | path[plen] = 0; 53 | } 54 | 55 | return rmdir(path); 56 | } 57 | 58 | err_t file_rm(const char* path){ 59 | stat_s st; 60 | if( stat(path, &st) ){ 61 | err_pushno("stats"); 62 | return -1; 63 | } 64 | if( S_ISDIR(st.st_mode) ){ 65 | char ph[PATH_MAX]; 66 | strcpy(ph, path); 67 | return rec_rm(ph); 68 | } 69 | else{ 70 | unlink(path); 71 | } 72 | 73 | return 0; 74 | } 75 | -------------------------------------------------------------------------------- /ef/file/tar.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | tar_t* ftar_open(const char* path, int orfd, const char* mode){ 8 | int flags = 0; 9 | 10 | switch( *mode ){ 11 | case 'r': 12 | flags = O_RDONLY; 13 | break; 14 | default: 15 | err_push("support only read, write mode is a to do"); 16 | return NULL; 17 | } 18 | tar_t* tar = NULL; 19 | if( orfd != -1 && tar_fdopen(&tar, orfd, path, NULL, flags, 0, TAR_GNU | TAR_CHECK_MAGIC | TAR_CHECK_VERSION) ){ 20 | err_pushno("fd(%d) open tar", orfd); 21 | return NULL; 22 | } 23 | else if( path && tar_open(&tar, path, NULL, flags, 0, TAR_GNU | TAR_CHECK_MAGIC | TAR_CHECK_VERSION) ){ 24 | err_pushno("path(%s) open tar", path); 25 | return NULL; 26 | } 27 | return tar; 28 | } 29 | 30 | void ftar_close_auto(tar_t** tar){ 31 | if( *tar == NULL ) return; 32 | ftar_close(*tar); 33 | *tar = NULL; 34 | } 35 | 36 | err_t ftar_extract_reg(tar_t* tar, int fdout){ 37 | char buf[T_BLOCKSIZE]; 38 | const off_t size = th_get_size(tar); 39 | int i; 40 | for (i = size; i > 0; i -= T_BLOCKSIZE) { 41 | int n_buf = tar_block_read(tar, buf); 42 | if (n_buf == EOF) { 43 | break; 44 | } 45 | else if( n_buf > T_BLOCKSIZE ){ 46 | n_buf = T_BLOCKSIZE; 47 | } 48 | ssize_t nw = fd_write(fdout, buf, n_buf); 49 | if( nw != n_buf ){ 50 | return -1; 51 | } 52 | } 53 | return 0; 54 | } 55 | 56 | -------------------------------------------------------------------------------- /ef/graphics/imageBmp.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | #include "qdbmp.h" 7 | 8 | g2dImage_s* g2d_load_bmp(char const* path){ 9 | BMP* raw = BMP_ReadFile(path); 10 | BMP_STATUS ret = BMP_GetError(); 11 | if( !raw || ret != BMP_OK ){ 12 | if( raw ) BMP_Free(raw); 13 | if( ret == BMP_FILE_INVALID ){ 14 | errno = 666; 15 | return NULL; 16 | } 17 | err_push("bmp(%d):%s", ret, BMP_GetErrorDescription()); 18 | return NULL; 19 | } 20 | 21 | g2dImage_s* img = g2d_new(raw->Header.Width, raw->Header.Height, -1); 22 | if( !img ) err_fail("wtf"); 23 | 24 | const unsigned bpp = raw->Header.BitsPerPixel >> 3; 25 | const unsigned strider = raw->Header.ImageDataSize / raw->Header.Height; 26 | const unsigned char* bmppix = raw->Data; 27 | const int palette = raw->Header.BitsPerPixel == 8; 28 | 29 | for( size_t y = 0; y < img->h; ++y ){ 30 | const unsigned row = g2d_row(img, y); 31 | g2dColor_t* pix = g2d_color(img, row, 0); 32 | const unsigned bmprow = ((raw->Header.Height - y) - 1) * strider; 33 | for( size_t x = 0; x < img->w; ++x){ 34 | const unsigned bmpx = x * bpp; 35 | if( palette ){ 36 | unsigned char* paddr = raw->Palette + bmppix[bmpx] * 4; 37 | pix[x] = g2d_color_make(img, 255, paddr[2], paddr[1], paddr[0]); 38 | } 39 | else{ 40 | pix[x] = g2d_color_make(img, 255, bmppix[bmprow+bmpx+2], bmppix[bmprow+bmpx+1], bmppix[bmprow+bmpx]); 41 | } 42 | } 43 | } 44 | 45 | BMP_Free(raw); 46 | return img; 47 | } 48 | 49 | -------------------------------------------------------------------------------- /ef/memory/heap.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | #include 7 | 8 | void* mem_heap_alloc(size_t* size) { 9 | iassert(size); 10 | iassert(*size > 0); 11 | *size = ROUND_UP(*size, getpagesize()); 12 | void* heap = mmap(NULL, *size, PROT_READ | PROT_WRITE, MAP_ANONYMOUS | MAP_PRIVATE, -1, 0); 13 | if( heap == (void*)-1 ){ 14 | err_pushno("mmap"); 15 | return NULL; 16 | } 17 | return heap; 18 | } 19 | 20 | void mem_heap_close(void* mem, size_t size){ 21 | if( mem == NULL ){ 22 | dbg_warning("shmem already closed"); 23 | return; 24 | } 25 | 26 | if( munmap(mem, size) < 0 ){ 27 | err_pushno("munmap"); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /ef/os/inutility.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | const char* os_setlocale(int category, const char* locale){ 5 | const char* previous = setlocale(category, NULL); 6 | setlocale(category, locale); 7 | return previous; 8 | } 9 | 10 | void os_begin(void){ 11 | __cpu_init(); 12 | } 13 | -------------------------------------------------------------------------------- /ef/os/signal.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | 4 | err_t os_signal_get_status(sigset_t* mask){ 5 | if( sigprocmask(0, NULL, mask) < 0 ){ 6 | err_pushno("sigprocmask"); 7 | return -1; 8 | } 9 | return 0; 10 | } 11 | 12 | err_t os_signal_set(sigaction_s* old, int num, signal_f fnc){ 13 | sigaction_s sa = { 14 | .sa_sigaction = fnc, 15 | .sa_flags = SA_RESTART | SA_SIGINFO, 16 | }; 17 | sigemptyset(&sa.sa_mask); 18 | 19 | if( sigaction(num, &sa, old) < 0 ){ 20 | err_pushno("sigaction"); 21 | return -1; 22 | } 23 | 24 | return 0; 25 | } 26 | 27 | err_t os_signal_restore(int num, sigaction_s* sa){ 28 | if( sigaction(num, sa, NULL) < 0 ){ 29 | err_pushno("sigaction"); 30 | return -1; 31 | } 32 | return 0; 33 | } 34 | 35 | void signal_wait(void){ 36 | pause(); 37 | } 38 | -------------------------------------------------------------------------------- /ef/term/tuiLabel.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | #include 6 | 7 | __private void label_free(void* ud){ 8 | tuiLabel_s* lbl = ud; 9 | if( lbl->str ) free(lbl->str); 10 | free(ud); 11 | } 12 | 13 | void tui_label_event_draw(tui_s* tui){ 14 | dbg_info("draw(%d)", tui->id); 15 | tuiLabel_s* lbl = tui->usrdata; 16 | if( !lbl->str ) return; 17 | const tuiPosition_s pos = tui_area_position(tui); 18 | const tuiSize_s size = tui_area_size(tui); 19 | 20 | term_gotorc(pos.r,pos.c); 21 | tui_attribute_print(tui); 22 | 23 | utf8Iterator_s it = utf8_iterator(lbl->str, 0); 24 | utf_t u; 25 | int c = 0; 26 | int r = 0; 27 | 28 | while( (u=utf8_iterator_next(&it)) ){ 29 | if( u != '\n' ) term_print(u); 30 | ++c; 31 | if( c >= size.width || u == '\n' ){ 32 | c = 0; 33 | ++r; 34 | if( r >= size.height ) break; 35 | term_gotorc(r+pos.r,c+pos.c); 36 | } 37 | } 38 | } 39 | 40 | tui_s* tui_label_new(tui_s* parent, int id, utf8_t* name, int border, int r, int c, int width, int height){ 41 | tuiLabel_s* lbl = mem_new(tuiLabel_s); 42 | if( !lbl ) err_fail("malloc"); 43 | 44 | tui_s* tr = tui_new(parent, id, name, border, r, c, width, height, lbl); 45 | 46 | tr->free = label_free; 47 | tr->draw = tui_label_event_draw; 48 | tr->eventFocus = tui_default_event_focus; 49 | tr->eventKey = tui_default_event_key; 50 | tr->type = TUI_TYPE_LABEL; 51 | lbl->str = NULL; 52 | 53 | return tr; 54 | } 55 | 56 | void tui_label_set(tui_s* tl, const utf8_t* str){ 57 | iassert(tl->type == TUI_TYPE_LABEL); 58 | tuiLabel_s* lbl = tl->usrdata; 59 | if( lbl->str ) free(lbl->str); 60 | lbl->str = U8(str_dup((char*)str,0)); 61 | } 62 | 63 | 64 | -------------------------------------------------------------------------------- /ef/term/tuiText.c: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include 4 | #include 5 | 6 | void tui_text_event_draw(tui_s* tui){ 7 | term_readline_draw(tui->usrdata); 8 | } 9 | 10 | int tui_text_event_key(tui_s* txt, termKey_s key){ 11 | if( key.ch == TERM_INPUT_CHAR_ESC ) return TUI_EVENT_RETURN_FOCUS_PARENT; 12 | if( key.escape == TERM_KEY_NPAGE ) return TUI_EVENT_RETURN_FOCUS_NEXT; 13 | if( key.escape == TERM_KEY_PPAGE ) return TUI_EVENT_RETURN_FOCUS_PREV; 14 | term_readline_process_key(txt->usrdata, key); 15 | term_readline_draw(txt->usrdata); 16 | term_flush(); 17 | return 0; 18 | } 19 | 20 | tui_s* tui_text_new(tui_s* parent, int id, utf8_t* name, int border, int r, int c, int width, int height){ 21 | tui_s* tr = tui_new(parent, id, name, border, r, c, width, height, NULL); 22 | tr->free = (tuiFree_f)term_readline_free; 23 | tr->draw = tui_text_event_draw; 24 | tr->eventKey = tui_text_event_key; 25 | tr->eventFocus = tui_default_event_focus; 26 | tr->type = TUI_TYPE_TEXT; 27 | 28 | tuiPosition_s p = tui_area_position(tr); 29 | tuiSize_s s = tui_area_size(tr); 30 | termReadLine_s* rl = term_readline_new(NULL, p.r, p.c, s.width, s.height); 31 | if( !rl ) err_fail("create readline"); 32 | term_readline_mode(rl, TERM_READLINE_MODE_INSERT | TERM_READLINE_MODE_SCROLL_ROW); 33 | tr->usrdata = rl; 34 | 35 | return tr; 36 | } 37 | 38 | termReadLine_s* tui_text_readline(tui_s* tui){ 39 | return tui->usrdata; 40 | } 41 | -------------------------------------------------------------------------------- /gendoc: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | rm -rf documentation/html 4 | rm -rf documentation/latex 5 | rm -rf documentation/man 6 | 7 | doxygen doxy.conf 8 | 9 | for M in documentation/man/man3/*; do 10 | FN=$(basename $M) 11 | DR=$(dirname $M) 12 | mv $M $DR/ef_$FN 13 | done 14 | -------------------------------------------------------------------------------- /include/ef/config.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_CONFIG_H__ 2 | #define __EF_CONFIG_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #define CONFF_ERROR 0x01 9 | 10 | typedef int (*config_f)(int type, char** value, void* userdata); 11 | 12 | typedef struct configTrie{ 13 | config_f fn; /** callback for each config, return CONFF_ERROR for terminate reading config file, return CONFF_GRAB_VALUE for not free a value*/ 14 | int type; /** user type definition */ 15 | void* userdata; /** userdata */ 16 | }configTrie_s; 17 | 18 | /** read a config file, accept 19 | * KEY 20 | * KEY = VALUE 21 | * KEY = 'VALUE' 22 | * KEY = "VALUE" 23 | * @param tr a trie with endnode contains a configTrie_s 24 | * @param sm a stream 25 | * @return 1 if read one config, 0 no more config to read, -1 for error 26 | */ 27 | int config_parse_line(trie_s* tr, stream_s* sm); 28 | 29 | /** read all configuration file 30 | * @param tr a trie with endnode contains a configTrie_s 31 | * @param sm a stream 32 | * @return 0 successfull, -1 for error 33 | */ 34 | err_t config_parse(trie_s* tr, stream_s* sm); 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /include/ef/delay.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_DELAY_H__ 2 | #define __EF_DELAY_H__ 3 | 4 | #include 5 | #include 6 | 7 | /** get time in milliseconds from starting os */ 8 | size_t time_ms(void); 9 | 10 | /** get time in microseconds from starting os */ 11 | size_t time_us(void); 12 | 13 | /** get time in milliseconds only for cpu */ 14 | size_t time_cpu_ms(void); 15 | 16 | /** get time in microseconds only for cpu*/ 17 | size_t time_cpu_us(void); 18 | 19 | /** get time in seconds from starting os */ 20 | double time_dbls(void); 21 | 22 | /** sleep milliseconds */ 23 | err_t delay_ms(uint64_t ms); 24 | 25 | /** sleep microseconds */ 26 | err_t delay_us(uint64_t us); 27 | 28 | /** sleep seconds as double */ 29 | err_t delay_dbls(double s); 30 | 31 | /** wait microsecons without sleep 32 | * this function can be use 100% of cpu if the time is long 33 | */ 34 | void delay_hard(uint64_t us); 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /include/ef/ftp.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_FTP_H__ 2 | #define __EF_FTP_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #define FTP_FTYPE_REG 0 9 | #define FTP_FTYPE_LINK 1 10 | #define FTP_FTYPE_DIR 2 11 | 12 | typedef struct ftpStat{ 13 | char* name; 14 | char* link; 15 | size_t size; 16 | time_t time; 17 | int mode; 18 | }ftpStat_s; 19 | 20 | typedef struct ftp{ 21 | www_s www; 22 | char* site; 23 | size_t lenSite; 24 | }ftp_s; 25 | 26 | ftp_s* ftp_new(size_t bufferupsize, int flags, wwwProgress_s* prog); 27 | 28 | void ftp_free(ftp_s* ftp); 29 | 30 | void ftp_user_password(ftp_s* ftp, const char* user, const char* pass); 31 | 32 | err_t ftp_site(ftp_s* ftp, const char* url); 33 | 34 | void ftp_cd(ftp_s* ftp, const char* path); 35 | 36 | ftpStat_s* ftp_list(ftp_s* ftp); 37 | 38 | void ftp_stat_free(void* v); 39 | 40 | err_t ftp_rename(ftp_s* ftp, const char* from, const char* to); 41 | 42 | err_t ftp_unlink(ftp_s* ftp, const char* fname); 43 | 44 | err_t ftp_mkdir(ftp_s* ftp, const char* name); 45 | 46 | err_t ftp_rmdir(ftp_s* ftp, const char* name); 47 | 48 | 49 | #endif // EASYHTTP_H_INCLUDED 50 | -------------------------------------------------------------------------------- /include/ef/fzs.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_FZS_H__ 2 | #define __EF_FZS_H__ 3 | 4 | #include 5 | #include 6 | 7 | /**structure to use in vector for fzs qsort*/ 8 | typedef struct fzsElement{ 9 | const char* str; /**< pointer to string*/ 10 | size_t len; /**< len of string*/ 11 | size_t distance; /**< laste distance calcolate*/ 12 | }fzsElement_s; 13 | 14 | /** calcolate levenshtein 15 | * @param a 16 | * @param lena if 0 calcolate strlen a 17 | * @param b 18 | * @param lenb if 0 calcolate strlen b 19 | * @return a size_t, depicting the difference between `a` and `b`, See for more information. 20 | */ 21 | size_t fzs_levenshtein(const char *a, const size_t lena, const char *b, const size_t lenb); 22 | 23 | /** find a element with minimal distance 24 | * @param v char** vector 25 | * @param str string to search 26 | * @param lens len of string, if 0 auto strlen 27 | */ 28 | ssize_t fzs_vector_find(char** v, const char* str, size_t lens); 29 | 30 | /** reorder vector of fzse to distance of str 31 | * @param fzse vector of fzsElement_s 32 | * @param str string to reordering distance 33 | * @param lens len of string, if 0 auto strlen 34 | */ 35 | void fzs_qsort(fzsElement_s* fzse, const char* str, size_t lens); 36 | 37 | #endif 38 | -------------------------------------------------------------------------------- /include/ef/guiCaption.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_GUI_CAPTION_H__ 2 | #define __EF_GUI_CAPTION_H__ 3 | 4 | #include 5 | 6 | #define GUI_CAPTION_RENDERING 0x01 7 | #define GUI_CAPTION_CENTER_X 0x02 8 | #define GUI_CAPTION_CENTER_Y 0x04 9 | #define GUI_CAPTION_AUTOWRAP 0x08 10 | 11 | #define GUI_THEME_CAPTION "caption" 12 | #define GUI_THEME_CAPTION_AUTOWRAP "caption.autowrap" 13 | #define GUI_THEME_CAPTION_CENTER_X "caption.center.x" 14 | #define GUI_THEME_CAPTION_CENTER_Y "caption.center.y" 15 | #define GUI_THEME_CAPTION_X "caption.x" 16 | #define GUI_THEME_CAPTION_Y "caption.y" 17 | #define GUI_THEME_FOREGROUND "foreground" 18 | 19 | typedef struct guiCaption{ 20 | guiLayer_s* render; 21 | unsigned flags; 22 | g2dPoint_s scroll; 23 | utf8_t* text; 24 | unsigned textWidth; 25 | unsigned textHeight; 26 | ftFonts_s* fonts; 27 | g2dColor_t foreground; 28 | }guiCaption_s; 29 | 30 | /** create new label*/ 31 | guiCaption_s* gui_caption_new(ftFonts_s* font, g2dColor_t foreground, unsigned flags); 32 | 33 | /** label free*/ 34 | void gui_caption_free(guiCaption_s* lbl); 35 | 36 | /** caption set caption*/ 37 | void gui_caption_text_set(gui_s* gui, guiCaption_s* cap, const utf8_t* text); 38 | 39 | /** label render text*/ 40 | void gui_caption_render(gui_s* gui, guiCaption_s* cap); 41 | 42 | /** caption scroll*/ 43 | void gui_caption_scroll(gui_s* gui, guiCaption_s* cap, unsigned x, unsigned y); 44 | 45 | /** set caption theme*/ 46 | int gui_caption_themes(gui_s* gui, guiCaption_s* cap, const char* name); 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /include/ef/guiLabel.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_GUI_LABEL_H__ 2 | #define __EF_GUI_LABEL_H__ 3 | 4 | #include 5 | #include 6 | 7 | typedef struct guiLabel{ 8 | guiCaption_s* caption; 9 | }guiLabel_s; 10 | 11 | /** create new label*/ 12 | guiLabel_s* gui_label_new(guiCaption_s* caption); 13 | 14 | /** attach label to gui*/ 15 | gui_s* gui_label_attach(gui_s* gui, guiLabel_s* lbl); 16 | 17 | /** label free*/ 18 | void gui_label_free(guiLabel_s* lbl); 19 | 20 | /** label set caption*/ 21 | void gui_label_text_set(gui_s* gui, const utf8_t* text); 22 | 23 | /** label redraw event*/ 24 | void gui_label_redraw(gui_s* gui); 25 | 26 | /** label scroll*/ 27 | void gui_label_scroll(gui_s* gui, unsigned x, unsigned y); 28 | 29 | /** event free*/ 30 | int gui_label_event_free(gui_s* gui, __unused xorgEvent_s* ev); 31 | 32 | /** event redraw*/ 33 | int gui_label_event_redraw(gui_s* gui, __unused xorgEvent_s* unset); 34 | 35 | /** event themes*/ 36 | int gui_label_event_themes(gui_s* gui, xorgEvent_s* ev); 37 | 38 | int gui_label_event_move(gui_s* gui, xorgEvent_s* event); 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /include/ef/imageBmp.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_IMAGE_BMP_H__ 2 | #define __EF_IMAGE_BMP_H__ 3 | 4 | #include 5 | 6 | /** load bmp image, set errno to 666 if not a bmp image*/ 7 | g2dImage_s* g2d_load_bmp(char const* path); 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /include/ef/imageFiles.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_IMAGE_FILES_H__ 2 | #define __EF_IMAGE_FILES_H__ 3 | 4 | #include 5 | 6 | /** load image, supported png, jpeg, bmp 7 | * @param path absolute path 8 | * @param width if 0 no scaling 9 | * @param height if 0 no scaling 10 | * @param ratio calcolate ratio 11 | * @return new image or null for error 12 | */ 13 | g2dImage_s* g2d_load(char const* path, unsigned width, unsigned height, int ratio); 14 | 15 | 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /include/ef/imageGif.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_IMAGE_GIF_H__ 2 | #define __EF_IMAGE_GIF_H__ 3 | 4 | #include 5 | 6 | typedef struct gifFrame{ 7 | g2dCoord_s pos; 8 | g2dImage_s* img; /**< image to display*/ 9 | unsigned delay; /**< delay in ms*/ 10 | unsigned dispose; 11 | int transindex; 12 | }gifFrame_s; 13 | 14 | typedef struct gif{ 15 | unsigned width; 16 | unsigned height; 17 | gifFrame_s* frames; /**< vector of gifFrame_s*/ 18 | }gif_s; 19 | 20 | gif_s* g2d_load_gif(char const* path); 21 | 22 | void g2d_gif_free(gif_s* gif); 23 | 24 | void g2d_gif_resize(gif_s* gif, unsigned width, unsigned height, int ratio); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /include/ef/imageJpeg.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_IMAGE_JPEG_H__ 2 | #define __EF_IMAGE_JPEG_H__ 3 | 4 | #include 5 | 6 | /** load jpeg image, set errno to 666 if not a jpeg image*/ 7 | g2dImage_s* g2d_load_jpeg(char const* path); 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /include/ef/imagePng.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_IMAGE_PNG_H__ 2 | #define __EF_IMAGE_PNG_H__ 3 | 4 | #include 5 | 6 | /** load png image, set errno to 666 if not a png image*/ 7 | g2dImage_s* g2d_load_png(char const* path); 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /include/ef/imageSvg.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_IMAGE_SVG_H__ 2 | #define __EF_IMAGE_SVG_H__ 3 | 4 | #include 5 | 6 | typedef struct svg{ 7 | size_t size; 8 | unsigned char* memblock; 9 | void* rsvgHandle; 10 | unsigned dimW; 11 | unsigned dimH; 12 | }svg_s; 13 | 14 | /** load svg image*/ 15 | svg_s* svg_load(char const* path); 16 | 17 | /** render svg*/ 18 | g2dImage_s* svg_render(svg_s* svg, unsigned width, unsigned height); 19 | 20 | /** free svg*/ 21 | void svg_free(svg_s* svg); 22 | 23 | 24 | #endif 25 | -------------------------------------------------------------------------------- /include/ef/media.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_MEDIA_H__ 2 | #define __EF_MEDIA_H__ 3 | 4 | #include 5 | 6 | typedef struct media media_s; 7 | 8 | /** free media*/ 9 | void media_free(media_s* media); 10 | 11 | /** load media*/ 12 | media_s* media_load(const char* path); 13 | 14 | /** set resize media*/ 15 | void media_resize_set(media_s* media, g2dImage_s* img); 16 | 17 | /** redraw decoded frame*/ 18 | void media_redraw(media_s* media); 19 | 20 | /** decode a frame, -1 end or error, 0 recall decode for frame, 1 frame decoded*/ 21 | int media_decode(media_s* media); 22 | 23 | /** get frame*/ 24 | g2dImage_s* media_frame_get(media_s* media); 25 | 26 | /** sleep for sync*/ 27 | void media_sleep(media_s* media); 28 | 29 | /** get time for sync in us*/ 30 | long media_delay_get(media_s* media); 31 | 32 | /** get width*/ 33 | unsigned media_width(media_s* media); 34 | 35 | /** get height */ 36 | unsigned media_height(media_s* media); 37 | 38 | /** get durate in ms */ 39 | double media_duration(media_s* media); 40 | 41 | /** get fps*/ 42 | double media_fps(media_s* media); 43 | 44 | /** seeking to ms from start, use workaround because av_seek_frame won't works*/ 45 | void media_seek(media_s* media, double s); 46 | 47 | /** get current video time in s*/ 48 | double media_time(media_s* media); 49 | 50 | #endif 51 | -------------------------------------------------------------------------------- /include/ef/optex.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_OPTEX_H__ 2 | #define __EF_OPTEX_H__ 3 | 4 | #include "ef/type.h" 5 | 6 | typedef enum{ 7 | ARGDEF_NOARG, /**< no argument */ 8 | ARGDEF_SIGNED, /**< long argument*/ 9 | ARGDEF_UNSIGNED, /**< unsigned long argument*/ 10 | ARGDEF_DOUBLE, /** 5 | 6 | /** set locale and return previous setting*/ 7 | const char* os_setlocale(int category, const char* locale); 8 | 9 | /** get current locale */ 10 | #define os_getlocale() locale_charset() 11 | 12 | void os_begin(void); 13 | 14 | #endif 15 | 16 | -------------------------------------------------------------------------------- /include/ef/pty.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_TERM_PTY_H__ 2 | #define __EF_TERM_PTY_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | #ifndef TERM_MAX_SLAVE_NAME 9 | #define TERM_MAX_SLAVE_NAME 32 10 | #endif 11 | 12 | /** open pt master return 13 | * @param slaveName pointer to str where stored slave name, remember to free 14 | * @return master fd 15 | */ 16 | int term_ptm_open(char** slaveName); 17 | 18 | /** create master and slave pty 19 | * @param masterFd pty master fd returned only in master process 20 | * @param slaveName return slave name in master and slave, need to free 21 | * @param slaveTermios if not null store termios setting only in slave process 22 | * @param slaveWS if not null store winsize setting only in slave process 23 | * @return slave pid for master, 0 for slave, -1 for error 24 | * @code 25 | * void screen_example(){ 26 | * int mfd; 27 | * char* slaveName; 28 | * pid_t p = term_pty_fork(&mfd, &slaveName, NULL, NULL); 29 | * 30 | * if( p == 0 ){ 31 | * puts("slave write"); 32 | * fflush(stdout); 33 | * delay_ms(5000); 34 | * puts("slave exit"); 35 | * fflush(stdout); 36 | * exit(0); 37 | * } 38 | * 39 | * puts("master write in term"); 40 | * //write(mfd, "master write in mfd", 19); 41 | * ssize_t nr; 42 | * if( (nr=read(mfd,slaveName,1024))>0 ){ 43 | * slaveName[nr] = 0; 44 | * printf("master rec::%s\n",slaveName); 45 | * } 46 | * //fgets(slaveName,1024,stdin); 47 | * 48 | * fsync(mfd); 49 | * wait(NULL); 50 | * } 51 | * @endcode 52 | */ 53 | pid_t pty_fork(int *masterFd, char** slaveName, struct termios *slaveTermios, struct winsize *slaveWS); 54 | 55 | 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /include/ef/sig.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_SIGNAL_H__ 2 | #define __EF_SIGNAL_H__ 3 | 4 | #include 5 | #include 6 | 7 | typedef struct sigaction sigaction_s; 8 | typedef siginfo_t siginfo_s; 9 | 10 | typedef void(*signal_f)(int, siginfo_s*, void*); 11 | 12 | err_t os_signal_get_status(sigset_t* mask); 13 | err_t os_signal_set(sigaction_s* old, int num, signal_f fnc); 14 | err_t os_signal_restore(int num, sigaction_s* sa); 15 | void os_signal_wait(void); 16 | 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /include/ef/spawn.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_SPAWN_H__ 2 | #define __EF_SPAWN_H__ 3 | 4 | #include 5 | 6 | #ifndef SPAWN_SHELL 7 | /** if no $SHELL is find use bash*/ 8 | #define SPAWN_SHELL_PATH "/bin/bash" 9 | /** arg for exec*/ 10 | #define SPAWN_ARGUMENT "-c" 11 | #endif 12 | 13 | /** return shell path*/ 14 | const char* os_shell_get(void); 15 | 16 | /** disable zombie, warning, this disable get exit status*/ 17 | void spawn_disable_zombie(void); 18 | 19 | /** call whend end of use spawn, wait(NULL)*/ 20 | void spawn_end(void); 21 | 22 | /** replace current process with shell software*/ 23 | void shell(const char* cmdline); 24 | 25 | /** execute command in shell 26 | * @param cmdline command to execute 27 | * @param disableoutput disable stdout stderr 28 | * @return pid of command or -1 29 | */ 30 | pid_t spawn_shell(const char* cmdline, int disableoutput); 31 | 32 | /** execute command in shell and slurp out/err 33 | * @param out the stdout string, remember to free 34 | * @param err the stderr string, remember to free 35 | * @param exitcode exit code if not null 36 | * @param cmdline cmdline command 37 | * @return 0 successfull -1 error 38 | */ 39 | err_t spawn_shell_slurp(char** out, char** err, int* exitcode, const char* cmdline); 40 | 41 | /** wait a pid*/ 42 | err_t spawn_wait(pid_t pid, int* exitcode); 43 | 44 | /** wait a pid is not child*/ 45 | err_t spawn_wait_any(pid_t pid, int* exitcode); 46 | 47 | /** same wait pid but without wait*/ 48 | err_t spawn_check(pid_t pid, int* exitcode); 49 | 50 | /** return fd where write on pid exited*/ 51 | int spawn_waitfd(pid_t pid); 52 | 53 | /** read and clean waitfd, close fd and waitpid on master process*/ 54 | err_t spawn_waitfd_read(int fd, pid_t* slave, int* res); 55 | 56 | 57 | #endif 58 | -------------------------------------------------------------------------------- /include/ef/term.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_TERM_H__ 2 | #define __EF_TERM_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | 13 | 14 | #endif 15 | -------------------------------------------------------------------------------- /include/ef/terminput.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_TERM_INPUT_H__ 2 | #define __EF_TERM_INPUT_H__ 3 | 4 | #include 5 | #include 6 | 7 | #define TERM_INPUT_CHAR_SCREEN -2 8 | #define TERM_INPUT_CHAR_ESC 0x1B 9 | 10 | #define TERM_INPUT_EXTEND_SCREEN 256 11 | #define TERM_INPUT_EXTEND_OFFSET 1024 12 | 13 | typedef struct termMouse_s{ 14 | int r; 15 | int c; 16 | int button; 17 | int meta; 18 | int shift; 19 | int control; 20 | }termMouse_s; 21 | 22 | typedef struct termKey{ 23 | utf_t ch; 24 | int escape; 25 | }termKey_s; 26 | 27 | /** return numbers of rows and cols 28 | * @param rows if not null return rows 29 | * @param cols if not null return cols 30 | * @return 0 successfull -1 error 31 | */ 32 | err_t term_screen_size_get(unsigned* rows, unsigned* cols); 33 | 34 | /** enable screen update size */ 35 | void term_screen_size_enable(void); 36 | 37 | /** flush stdin */ 38 | void term_flushin(void); 39 | 40 | /** enable terminal input */ 41 | void term_input_enable(void); 42 | 43 | /** disable terminal input */ 44 | void term_input_disable(void); 45 | 46 | /** return data available on stdin */ 47 | int term_kbhit(void); 48 | 49 | /** ungetch key*/ 50 | void term_input_ungetch(termKey_s key); 51 | 52 | /** return a key, screen resize */ 53 | termKey_s term_input_utf8(void); 54 | 55 | /** return term_input_utf8 or an escape */ 56 | termKey_s term_input_extend(void); 57 | 58 | /** when receved TERM_KEY_MOUSE, call this function to get mouse position */ 59 | termMouse_s term_input_mouse(void); 60 | 61 | /** if use term_input_extend use this for reading mouse value, not term_input_mouse */ 62 | termMouse_s term_mouse_event(void); 63 | 64 | #endif 65 | -------------------------------------------------------------------------------- /include/ef/termmode.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_TERM_MODE_H__ 2 | #define __EF_TERM_MODE_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | 8 | typedef struct termios termios_s; 9 | typedef struct winsize winsize_s; 10 | 11 | /** set fullbuffered with buf size (w*h+1)*4 */ 12 | err_t term_buff_same_screen(void); 13 | 14 | /** destroy buffer */ 15 | void term_buff_end(void); 16 | 17 | /** get termios setting */ 18 | #define term_settings_fdget(FD, PTR_SETTINGS) tcgetattr(FD, PTR_SETTINGS) 19 | 20 | /** set termios setting */ 21 | #define term_settings_fdset(FD, PTR_SETTINGS) tcsetattr(FD, TCSANOW, PTR_SETTINGS) 22 | 23 | /** get termios setting */ 24 | #define term_settings_get(PTR_SETTINGS) term_settings_fdget(0, PTR_SETTINGS) 25 | 26 | /** set termios setting */ 27 | #define term_settings_set(PTR_SETTINGS) term_settings_fdset(0, PTR_SETTINGS) 28 | 29 | /** set raw mode and get termios */ 30 | void term_raw_mode(termios_s* old); 31 | 32 | /** enter in raw mode */ 33 | void term_raw_enable(void); 34 | 35 | /** exit from raw mode */ 36 | void term_raw_disable(void); 37 | 38 | /** read winsize struct*/ 39 | err_t term_winsize_get(winsize_s* ws); 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /include/ef/tuiButton.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_TUI_BUTTON_H__ 2 | #define __EF_TUI_BUTTON_H__ 3 | 4 | #include 5 | 6 | typedef struct tuiButton{ 7 | utf8_t* str; 8 | tuiEventInt_f onpress; 9 | void* usrdata; 10 | }tuiButton_s; 11 | 12 | /** event draw*/ 13 | void tui_button_event_draw(tui_s* tui); 14 | 15 | /** event focus*/ 16 | int tui_button_event_focus(tui_s* tui, int focus); 17 | 18 | /** event key*/ 19 | int tui_button_event_key(tui_s* tui, termKey_s key); 20 | 21 | /** event mouse*/ 22 | int tui_button_event_mouse(tui_s* tui, __unused termMouse_s mouse); 23 | 24 | /** create new button*/ 25 | tui_s* tui_button_new(tui_s* parent, int id, utf8_t* name, int border, int r, int c, int width, int height); 26 | 27 | /** set button caption*/ 28 | void tui_button_set(tui_s* tl, const utf8_t* str); 29 | 30 | /** on press event*/ 31 | void tui_button_onpress_set(tui_s* tl, tuiEventInt_f fn, void* userdata); 32 | 33 | /** get button userdata*/ 34 | void* tui_button_userdata(tui_s* tui); 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /include/ef/tuiLabel.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_TUI_LABEL_H__ 2 | #define __EF_TUI_LABEL_H__ 3 | 4 | #include 5 | 6 | typedef struct tuiLabel{ 7 | utf8_t* str; 8 | }tuiLabel_s; 9 | 10 | /** event label draw*/ 11 | void tui_label_event_draw(tui_s* tui); 12 | 13 | /** create new label*/ 14 | tui_s* tui_label_new(tui_s* parent, int id, utf8_t* name, int border, int r, int c, int width, int height); 15 | 16 | /** set label caption*/ 17 | void tui_label_set(tui_s* tl, const utf8_t* str); 18 | 19 | 20 | #endif 21 | -------------------------------------------------------------------------------- /include/ef/tuiList.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_TUI_LIST_H__ 2 | #define __EF_TUI_LIST_H__ 3 | 4 | #include 5 | 6 | 7 | typedef enum { TUI_LIST_VERTICAL, TUI_LIST_HORIZONTAL, TUI_LIST_GRID } tuiListMode_e; 8 | typedef enum { TUI_LIST_NORMAL, TUI_LIST_CHECK, TUI_LIST_OPTION } tuiListType_e; 9 | 10 | typedef struct tuiListElement{ 11 | utf8_t* name; 12 | int val; 13 | int r; 14 | int c; 15 | void* usrdata; 16 | tuiEventInt_f onpress; 17 | }tuiListElement_s; 18 | 19 | typedef struct tuiList{ 20 | tuiListElement_s* elements; 21 | tuiListMode_e mode; 22 | tuiListType_e type; 23 | unsigned sel; 24 | size_t scrollRow; 25 | }tuiList_s; 26 | 27 | #define TUI_LIST_CHECKED_TRUE U8("☑") 28 | #define TUI_LIST_CHECKED_FALSE U8("☐") 29 | #define TUI_LIST_OPTION_TRUE U8("◉") 30 | #define TUI_LIST_OPTION_FALSE U8("⊙") 31 | 32 | /** event draw*/ 33 | void tui_list_event_draw(tui_s* tui); 34 | 35 | /** event key*/ 36 | int tui_list_event_key(tui_s* tui, termKey_s key); 37 | 38 | /** event focus*/ 39 | int tui_list_event_focus(tui_s* tui, int enable); 40 | 41 | /** create new list*/ 42 | tui_s* tui_list_new(tui_s* parent, int id, utf8_t* name, int border, int r, int c, int width, int height); 43 | 44 | /** add list element */ 45 | void tui_list_add(tui_s* tui, const utf8_t* name, int val, void* userdata, tuiEventInt_f fn); 46 | 47 | /** get list element*/ 48 | tuiListElement_s* tui_list_element(tui_s* tui, unsigned id); 49 | 50 | /** get count list elements*/ 51 | size_t tui_list_element_count(tui_s* tui); 52 | 53 | /** clear all elements*/ 54 | void tui_list_clear(tui_s* tui); 55 | 56 | /** set mode list*/ 57 | void tui_list_option(tui_s* tui, tuiListMode_e mode, tuiListType_e type); 58 | 59 | #endif 60 | -------------------------------------------------------------------------------- /include/ef/tuiRoot.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_TUI_ROOT_H__ 2 | #define __EF_TUI_ROOT_H__ 3 | 4 | #include 5 | 6 | typedef struct tuiRoot{ 7 | tui_s* focus; 8 | }tuiRoot_s; 9 | 10 | /** create new root tui, is always need for all tui application*/ 11 | tui_s* tui_root_new(void); 12 | 13 | /** get root from any tui*/ 14 | tui_s* tui_root_get(tui_s* any); 15 | 16 | /** get tui focused*/ 17 | tui_s* tui_root_focused(tui_s* tr); 18 | 19 | /** set focus to tui*/ 20 | void tui_root_focus_set(tui_s* tr, tui_s* focus); 21 | 22 | /** get tui in position r,c*/ 23 | tui_s* tui_root_getin(tui_s* tr, int r, int c); 24 | 25 | /** loop key*/ 26 | void tui_root_loop(tui_s* tr); 27 | 28 | /** create a loop key and wait it*/ 29 | void tui_root_wait(tui_s* tui, tui_s* setFocus); 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /include/ef/tuiText.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_TUI_TEXT_H__ 2 | #define __EF_TUI_TEXT_H__ 3 | 4 | #include 5 | 6 | /** event draw*/ 7 | void tui_text_event_draw(tui_s* tui); 8 | 9 | /** event key*/ 10 | int tui_text_event_key(tui_s* txt, termKey_s key); 11 | 12 | /** create new teu text*/ 13 | tui_s* tui_text_new(tui_s* parent, int id, utf8_t* name, int border, int r, int c, int width, int height); 14 | 15 | /** get readline object from tui*/ 16 | termReadLine_s* tui_text_readline(tui_s* tui); 17 | 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /include/ef/tuiWindow.h: -------------------------------------------------------------------------------- 1 | #ifndef __EF_TUI_WINDOW_H__ 2 | #define __EF_TUI_WINDOW_H__ 3 | 4 | #include 5 | 6 | typedef struct tuiWindow{ 7 | int unused; 8 | }tuiWindow_s; 9 | 10 | /** create new window*/ 11 | tui_s* tui_window_new(tui_s* parent, int id, utf8_t* name, int border, int r, int c, int width, int height); 12 | 13 | /** create a message box*/ 14 | int tui_window_msgbox(tui_s* root, int id, utf8_t* name, int border, int r, int c, int w, int h, utf8_t* text, utf8_t** buttonName, unsigned buttonCount); 15 | 16 | 17 | 18 | #endif 19 | -------------------------------------------------------------------------------- /meson_options.txt: -------------------------------------------------------------------------------- 1 | option('ebug', type: 'integer', value: '0', description: 'set debug level, 0 disable 4 full') 2 | option('olor', type: 'integer', value: '0', description: 'color debug, 0 disable 1 active') 3 | option('assert', type: 'integer', value: '0', description: 'enable assertion') 4 | option('optimize', type: 'integer', value: '2', description: 'enable optimization') 5 | option('openmp', type: 'integer', value: '1', description: 'enable openmp') 6 | option('gprof', type: 'integer', value: '0', description: 'enable gprof') 7 | option('autovectorization', type: 'integer', value: '1', description: 'enable vectorization') 8 | option('man', type: 'integer', value: '1', description: 'install man page') 9 | option('terminfo', type: 'string', value: 'lib/terminfo', description: 'change install path terminfo') 10 | 11 | -------------------------------------------------------------------------------- /scan-build.test: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd build 3 | ninja clean 4 | ninja scan-build 5 | REPORT=$(ls meson-logs/scanbuild) 6 | echo $REPORT 7 | [[ "$REPORT" != "" ]] && scan-view meson-logs/scanbuild/$REPORT 8 | 9 | 10 | -------------------------------------------------------------------------------- /test/config.test: -------------------------------------------------------------------------------- 1 | 2 | POWER_SUPPLY_VOLTAGE_MIN_DESIGN=7680000 3 | 4 | POWER_SUPPLY_VOLTAGE_NOW= 8750000 5 | POWER_SUPPLY_ENERGY_FULL = 41570000 6 | POWER_SUPPLY_ENERGY_NOW = 39830000 7 | POWER_SUPPLY_POWER_NOW=7901000 8 | POWER_SUPPLY_CAPACITY=95 9 | POWER_SUPPLY_STATUS=Charging 10 | -------------------------------------------------------------------------------- /test/jsontest/invalid/ag_false_then_garbage.json: -------------------------------------------------------------------------------- 1 | falsex -------------------------------------------------------------------------------- /test/jsontest/invalid/ag_null_then_garbage.json: -------------------------------------------------------------------------------- 1 | nullx 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/ag_true_then_garbage.json: -------------------------------------------------------------------------------- 1 | truex -------------------------------------------------------------------------------- /test/jsontest/invalid/am_eof.json: -------------------------------------------------------------------------------- 1 | { "123": 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/am_integers.json: -------------------------------------------------------------------------------- 1 | 1221 21 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/am_multiple.json: -------------------------------------------------------------------------------- 1 | 2 | {} 3 | {} 4 | -------------------------------------------------------------------------------- /test/jsontest/invalid/am_stuff.json: -------------------------------------------------------------------------------- 1 | {} 2 | [] 3 | [] 4 | "sdfasd" 5 | 123 6 | { "123" : 123 } 7 | 3.1e124 8 | -------------------------------------------------------------------------------- /test/jsontest/invalid/ap_array_open.json: -------------------------------------------------------------------------------- 1 | [ 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/ap_eof_str.json: -------------------------------------------------------------------------------- 1 | "abc -------------------------------------------------------------------------------- /test/jsontest/invalid/ap_map_open.json: -------------------------------------------------------------------------------- 1 | { 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/ap_partial_ok.json: -------------------------------------------------------------------------------- 1 | [ "foo", "bar" 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/apostrophe.json: -------------------------------------------------------------------------------- 1 | [' 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/array.json: -------------------------------------------------------------------------------- 1 | ["foo", 2 | "bar", "baz", 3 | true,false,null,{"key":"value"}, 4 | [null,null,null,[]], 5 | "\n\r\\" 6 | ] 7 | -------------------------------------------------------------------------------- /test/jsontest/invalid/array_close.json: -------------------------------------------------------------------------------- 1 | ] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/ascii-unicode-identifier.json: -------------------------------------------------------------------------------- 1 | aå 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/bogus_char.json: -------------------------------------------------------------------------------- 1 | ["this","is","what","should","be", 2 | "a happy bit of json", 3 | "but someone, misspelled \"true\"", ture, 4 | "who says JSON is easy for humans to generate?"] 5 | -------------------------------------------------------------------------------- /test/jsontest/invalid/brace-comma.json: -------------------------------------------------------------------------------- 1 | {, 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/bracket-comma.json: -------------------------------------------------------------------------------- 1 | [, 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/bracket-one-comma.json: -------------------------------------------------------------------------------- 1 | [1, 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/empty-array.json: -------------------------------------------------------------------------------- 1 | [] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/empty-object-in-array.json: -------------------------------------------------------------------------------- 1 | [{}] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/empty-object.json: -------------------------------------------------------------------------------- 1 | {} 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/empty_array.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /test/jsontest/invalid/ext-invalid-0001.json: -------------------------------------------------------------------------------- 1 | 151 2 | 3 | /* unterminated block comment at end of file 4 | -------------------------------------------------------------------------------- /test/jsontest/invalid/ext-invalid-0002.json: -------------------------------------------------------------------------------- 1 | [1, 2, /? wrong comment opening sequence */ 3] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/ext-valid-0001.json: -------------------------------------------------------------------------------- 1 | { "key": "value", 2 | 3 | /* This is a block comment, spanning 4 | multiple lines */ 5 | 6 | "another_key": 42 7 | } 8 | 9 | 10 | -------------------------------------------------------------------------------- /test/jsontest/invalid/ext-valid-0002.json: -------------------------------------------------------------------------------- 1 | [1, 2, // line comment 2 | 3, 4] 3 | 4 | 5 | -------------------------------------------------------------------------------- /test/jsontest/invalid/ext-valid-0003.json: -------------------------------------------------------------------------------- 1 | 151 2 | 3 | // line comment at end of file 4 | -------------------------------------------------------------------------------- /test/jsontest/invalid/extra-comma-in-array.json: -------------------------------------------------------------------------------- 1 | [1,] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/extra-comma-in-multiline-array.json: -------------------------------------------------------------------------------- 1 | [1, 2 | 2, 3 | 3, 4 | 4, 5 | 5, 6 | ] 7 | -------------------------------------------------------------------------------- /test/jsontest/invalid/fg_false_then_garbage.json: -------------------------------------------------------------------------------- 1 | falsex -------------------------------------------------------------------------------- /test/jsontest/invalid/fg_issue_7.json: -------------------------------------------------------------------------------- 1 | 2009-10-20@20:38:21.539575 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/fg_null_then_garbage.json: -------------------------------------------------------------------------------- 1 | nullx 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/fg_true_then_garbage.json: -------------------------------------------------------------------------------- 1 | truex 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/garbage-after-newline.json: -------------------------------------------------------------------------------- 1 | [1,2,3] 2 | foo 3 | -------------------------------------------------------------------------------- /test/jsontest/invalid/garbage-at-the-end.json: -------------------------------------------------------------------------------- 1 | [1,2,3]foo 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/high_overflow.json: -------------------------------------------------------------------------------- 1 | 9223372036854775808 -------------------------------------------------------------------------------- /test/jsontest/invalid/integer-starting-with-zero.json: -------------------------------------------------------------------------------- 1 | [012] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-0001.json: -------------------------------------------------------------------------------- 1 | []] 2 | 3 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-0002.json: -------------------------------------------------------------------------------- 1 | {}} 2 | 3 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-0004.json: -------------------------------------------------------------------------------- 1 | [1 2] 2 | 3 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-0005.json: -------------------------------------------------------------------------------- 1 | [true false] 2 | 3 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-0006.json: -------------------------------------------------------------------------------- 1 | [ 2 | 023 3 | ] 4 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-0007.json: -------------------------------------------------------------------------------- 1 | [ false, tru 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-0008.json: -------------------------------------------------------------------------------- 1 | [ true, fals 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-0009.json: -------------------------------------------------------------------------------- 1 | [ false, nul 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-0010.json: -------------------------------------------------------------------------------- 1 | ] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-1.json: -------------------------------------------------------------------------------- 1 | ["\u0012 escaped control character"] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-escape.json: -------------------------------------------------------------------------------- 1 | ["\a <-- invalid escape"] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-identifier.json: -------------------------------------------------------------------------------- 1 | [troo 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-negative-integer.json: -------------------------------------------------------------------------------- 1 | [-123foo] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-negative-real.json: -------------------------------------------------------------------------------- 1 | [-123.123foo] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-second-surrogate.json: -------------------------------------------------------------------------------- 1 | ["\uD888\u3210 (first surrogate and invalid second surrogate)"] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid-unicode-escape.json: -------------------------------------------------------------------------------- 1 | ["\uqqqq <-- invalid unicode escape"] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/invalid_utf8.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vbextreme/EasyFramework/c874e76f2794e9459764c61d2a222de8adf97a35/test/jsontest/invalid/invalid_utf8.json -------------------------------------------------------------------------------- /test/jsontest/invalid/isolated_surrogate_marker.json: -------------------------------------------------------------------------------- 1 | "\ud800" 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/leading_zero_in_number.json: -------------------------------------------------------------------------------- 1 | { "bad thing": 01 } 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/lone-open-brace.json: -------------------------------------------------------------------------------- 1 | { 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/lone-open-bracket.json: -------------------------------------------------------------------------------- 1 | [ 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/lone-second-surrogate.json: -------------------------------------------------------------------------------- 1 | ["\uDFAA (second surrogate on it's own)"] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/lonely_minus_sign.json: -------------------------------------------------------------------------------- 1 | [ 2 | "foo", true, 3 | true, "blue", 4 | "baby where are you?", "oh boo hoo!", 5 | - 6 | ] 7 | 8 | -------------------------------------------------------------------------------- /test/jsontest/invalid/map_close.json: -------------------------------------------------------------------------------- 1 | } 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/minus-sign-without-number.json: -------------------------------------------------------------------------------- 1 | [-foo] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/missing_integer_after_decimal_point.json: -------------------------------------------------------------------------------- 1 | 10.e2 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/missing_integer_after_exponent.json: -------------------------------------------------------------------------------- 1 | 10e 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/multiple.json: -------------------------------------------------------------------------------- 1 | 2 | {} 3 | {} 4 | -------------------------------------------------------------------------------- /test/jsontest/invalid/negative-integer-starting-with-zero.json: -------------------------------------------------------------------------------- 1 | [-012] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/non_utf8_char_in_string.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/vbextreme/EasyFramework/c874e76f2794e9459764c61d2a222de8adf97a35/test/jsontest/invalid/non_utf8_char_in_string.json -------------------------------------------------------------------------------- /test/jsontest/invalid/np_partial_bad.json: -------------------------------------------------------------------------------- 1 | [ "foo", "bar" 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/null-byte-in-object-key.json: -------------------------------------------------------------------------------- 1 | {"foo\u0000bar": 42} -------------------------------------------------------------------------------- /test/jsontest/invalid/null-byte-in-string.json: -------------------------------------------------------------------------------- 1 | ["null byte not allowed"] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/null-byte-outside-string.json: -------------------------------------------------------------------------------- 1 | [ 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/null-escape-in-string.json: -------------------------------------------------------------------------------- 1 | ["null escape \u0000 not allowed"] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/object-apostrophes.json: -------------------------------------------------------------------------------- 1 | {'a' 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/object-garbage-at-end.json: -------------------------------------------------------------------------------- 1 | {"a":"a" 123} 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/object-in-unterminated-array.json: -------------------------------------------------------------------------------- 1 | [{} 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/object-no-colon.json: -------------------------------------------------------------------------------- 1 | {"a" 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/object-no-value.json: -------------------------------------------------------------------------------- 1 | {"a": 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/object-unterminated-value.json: -------------------------------------------------------------------------------- 1 | {"a":"a 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/real-garbage-after-e.json: -------------------------------------------------------------------------------- 1 | [1ea] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/real-negative-overflow.json: -------------------------------------------------------------------------------- 1 | [-123123e100000] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/real-positive-overflow.json: -------------------------------------------------------------------------------- 1 | [123123e100000] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/real-subnormal-number.json: -------------------------------------------------------------------------------- 1 | [1.8011670033376514e-308] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/real-truncated-at-e.json: -------------------------------------------------------------------------------- 1 | [1e] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/real-truncated-at-point.json: -------------------------------------------------------------------------------- 1 | [1.] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/real-underflow.json: -------------------------------------------------------------------------------- 1 | [123e-10000000] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/simple-object.json: -------------------------------------------------------------------------------- 1 | {"a":[]} 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/string_invalid_escape.json: -------------------------------------------------------------------------------- 1 | ["\n foo \/ bar \r\f\\\uffff\t\b\"\\ and you can't escape thi\s"] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/string_invalid_hex_char.json: -------------------------------------------------------------------------------- 1 | "foo foo, blah blah \u0123 \u4567 \u89ab \uc/ef \uABCD \uEFFE bar baz bing" 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/string_with_escapes.json: -------------------------------------------------------------------------------- 1 | ["\n foo \/ bar \r\f\\\uffff\t\b\"\\", 2 | "\"and this string has an escape at the beginning", 3 | "and this string has no escapes" ] 4 | -------------------------------------------------------------------------------- /test/jsontest/invalid/string_with_invalid_newline.json: -------------------------------------------------------------------------------- 1 | "la di dah. this is a string, and I can do this, \n, but not this 2 | " 3 | -------------------------------------------------------------------------------- /test/jsontest/invalid/tab-character-in-string.json: -------------------------------------------------------------------------------- 1 | [" <-- tab character"] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/too-big-negative-integer.json: -------------------------------------------------------------------------------- 1 | [-123123123123123123123123123123] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/too-big-positive-integer.json: -------------------------------------------------------------------------------- 1 | [123123123123123123123123123123] 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/unicode-identifier.json: -------------------------------------------------------------------------------- 1 | å 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/unterminated-array-and-object.json: -------------------------------------------------------------------------------- 1 | [{ 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/unterminated-array.json: -------------------------------------------------------------------------------- 1 | ["a" 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/unterminated-empty-key.json: -------------------------------------------------------------------------------- 1 | {" 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/unterminated-key.json: -------------------------------------------------------------------------------- 1 | {"a 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/unterminated-object-and-array.json: -------------------------------------------------------------------------------- 1 | {[ 2 | -------------------------------------------------------------------------------- /test/jsontest/invalid/unterminated-string.json: -------------------------------------------------------------------------------- 1 | ["a 2 | -------------------------------------------------------------------------------- /test/jsontest/todotest/truncated-unicode-surrogate.json: -------------------------------------------------------------------------------- 1 | ["\uDADA (first surrogate without the second)"] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/bignums.json: -------------------------------------------------------------------------------- 1 | [ 9223372036854775807, -9223372036854775807 ] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/codepoints_from_unicode_org.json: -------------------------------------------------------------------------------- 1 | "\u004d\u0430\u4e8c\ud800\udf02" 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/complex-array.json: -------------------------------------------------------------------------------- 1 | [1,2,3,4, 2 | "a", "b", "c", 3 | {"foo": "bar", "core": "dump"}, 4 | true, false, true, true, null, false 5 | ] 6 | -------------------------------------------------------------------------------- /test/jsontest/valid/difficult_json_c_test_case.json: -------------------------------------------------------------------------------- 1 | { "glossary": { "title": "example glossary", "GlossDiv": { "title": "S", "GlossList": [ { "ID": "SGML", "SortAs": "SGML", "GlossTerm": "Standard Generalized Markup Language", "Acronym": "SGML", "Abbrev": "ISO 8879:1986", "GlossDef": "A meta-markup language, used to create markup languages such as DocBook.", "GlossSeeAlso": ["GML", "XML", "markup"] } ] } } } 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/doubles.json: -------------------------------------------------------------------------------- 1 | [ 0.1e2, 1e1, 3.141569, 10000000000000e-10] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/doubles_in_array.json: -------------------------------------------------------------------------------- 1 | [0.00011999999999999999, 6E-06, 6E-06, 1E-06, 1E-06] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/empty-string.json: -------------------------------------------------------------------------------- 1 | [""] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/empty_string.json: -------------------------------------------------------------------------------- 1 | "" 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/escaped_bulgarian.json: -------------------------------------------------------------------------------- 1 | ["\u0414\u0430", 2 | "\u041c\u0443", 3 | "\u0415\u0431\u0430", 4 | "\u041c\u0430\u0439\u043a\u0430\u0442\u0430"] 5 | -------------------------------------------------------------------------------- /test/jsontest/valid/escaped_foobar.json: -------------------------------------------------------------------------------- 1 | "\u0066\u006f\u006f\u0062\u0061\u0072" 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/false.json: -------------------------------------------------------------------------------- 1 | [false] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/four_byte_utf8.json: -------------------------------------------------------------------------------- 1 | { "U+10ABCD": "􊯍" } 2 | 3 | -------------------------------------------------------------------------------- /test/jsontest/valid/integers.json: -------------------------------------------------------------------------------- 1 | [ 1,2,3,4,5,6,7, 2 | 123456789 , -123456789, 3 | 2147483647, -2147483647 ] 4 | -------------------------------------------------------------------------------- /test/jsontest/valid/lonely_number.json: -------------------------------------------------------------------------------- 1 | 123456789 -------------------------------------------------------------------------------- /test/jsontest/valid/low_overflow.json: -------------------------------------------------------------------------------- 1 | -9223372036854775808 -------------------------------------------------------------------------------- /test/jsontest/valid/negative-int.json: -------------------------------------------------------------------------------- 1 | [-123] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/negative-one.json: -------------------------------------------------------------------------------- 1 | [-1] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/negative-zero.json: -------------------------------------------------------------------------------- 1 | [-0] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/null.json: -------------------------------------------------------------------------------- 1 | null 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/nulls_and_bools.json: -------------------------------------------------------------------------------- 1 | { 2 | "boolean, true": true, 3 | "boolean, false": false, 4 | "null": null 5 | } 6 | -------------------------------------------------------------------------------- /test/jsontest/valid/nulls_and_bools2.json: -------------------------------------------------------------------------------- 1 | { 2 | "boolean, ,true": true, 3 | "boolean, false": false, 4 | "null": null 5 | } 6 | -------------------------------------------------------------------------------- /test/jsontest/valid/one-byte-utf-8.json: -------------------------------------------------------------------------------- 1 | ["\u002c one-byte UTF-8"] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/real-capital-e-negative-exponent.json: -------------------------------------------------------------------------------- 1 | [1E-2] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/real-capital-e-positive-exponent.json: -------------------------------------------------------------------------------- 1 | [1E+2] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/real-capital-e.json: -------------------------------------------------------------------------------- 1 | [1E22] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/real-exponent.json: -------------------------------------------------------------------------------- 1 | [123e45] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/real-fraction-exponent.json: -------------------------------------------------------------------------------- 1 | [123.456e78] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/real-negative-exponent.json: -------------------------------------------------------------------------------- 1 | [1e-2] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/real-positive-exponent.json: -------------------------------------------------------------------------------- 1 | [1e+2] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/short-string.json: -------------------------------------------------------------------------------- 1 | ["a"] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/simple-ascii-string.json: -------------------------------------------------------------------------------- 1 | ["abcdefghijklmnopqrstuvwxyz1234567890 "] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/simple-int-0.json: -------------------------------------------------------------------------------- 1 | [0] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/simple-int-1.json: -------------------------------------------------------------------------------- 1 | [1] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/simple-int-123.json: -------------------------------------------------------------------------------- 1 | [123] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/simple-real.json: -------------------------------------------------------------------------------- 1 | [123.456789] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/simple.json: -------------------------------------------------------------------------------- 1 | { 2 | "this": "is", 3 | "really": "simple", 4 | "json": "right?" 5 | } 6 | -------------------------------------------------------------------------------- /test/jsontest/valid/string-escapes.json: -------------------------------------------------------------------------------- 1 | ["\"\\\/\b\f\n\r\t"] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/three-byte-utf-8.json: -------------------------------------------------------------------------------- 1 | ["\u0821 three-byte UTF-8"] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/three_byte_utf8.json: -------------------------------------------------------------------------------- 1 | {"matzue": "松江", "asakusa": "浅草"} 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/true.json: -------------------------------------------------------------------------------- 1 | [true] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/two-byte-utf-8.json: -------------------------------------------------------------------------------- 1 | ["\u0123 two-byte UTF-8"] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/unescaped_bulgarian.json: -------------------------------------------------------------------------------- 1 | ["Да Му Еба Майката"] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/utf-8-string.json: -------------------------------------------------------------------------------- 1 | ["€þıœəßð some utf-8 ĸʒ×ŋµåäö𝄞"] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/utf-surrogate-four-byte-encoding.json: -------------------------------------------------------------------------------- 1 | ["\uD834\uDD1E surrogate, four-byte UTF-8"] 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/valid-0001.json: -------------------------------------------------------------------------------- 1 | 4 2 | 3 | -------------------------------------------------------------------------------- /test/jsontest/valid/valid-0002.json: -------------------------------------------------------------------------------- 1 | [ true, false, "\u20AC\u20AD" ] 2 | 3 | -------------------------------------------------------------------------------- /test/jsontest/valid/valid-0003.json: -------------------------------------------------------------------------------- 1 | { "min": -1.0e+28, "max": 1.0e+28 } 2 | 3 | 4 | -------------------------------------------------------------------------------- /test/jsontest/valid/valid-0004.json: -------------------------------------------------------------------------------- 1 | {"status": "ok", "results": [{"recordings": [{"id": "889ec8e0-b8a6-4ff1-a104-5512ea49fe87"}], "score": 0.879051, "id": "45047cb1-3d3f-477e-a3dc-f14e8254e78d"}]} 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/valid-0005.json: -------------------------------------------------------------------------------- 1 | [ 2 | 12.0004, 3 | 1.7734, 4 | 15, 5 | -42, 6 | -1.7734, 7 | 1.0e+28, 8 | -1.0e+28, 9 | 1.0e-28, 10 | -1.0e-28, 11 | -18.3872, 12 | -2.1, 13 | -1234567.891011121314 14 | ] 15 | 16 | -------------------------------------------------------------------------------- /test/jsontest/valid/valid-0006.json: -------------------------------------------------------------------------------- 1 | {"title":"\u041f\u043e\u043b\u0442\u043e\u0440\u0430 \u0417\u0435\u043c\u043b\u0435\u043a\u043e\u043f\u0430" } 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/valid-0007.json: -------------------------------------------------------------------------------- 1 | "\uA66D" 2 | 3 | -------------------------------------------------------------------------------- /test/jsontest/valid/valid-0008.json: -------------------------------------------------------------------------------- 1 | [ 2 | 0.4e006, 3 | 0.4e-006, 4 | 0.4e+006, 5 | 4e006, 6 | 4e-006, 7 | 4e+006 8 | ] 9 | -------------------------------------------------------------------------------- /test/jsontest/valid/valid-0009.json: -------------------------------------------------------------------------------- 1 | true 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/valid-0010.json: -------------------------------------------------------------------------------- 1 | false 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/valid-0011.json: -------------------------------------------------------------------------------- 1 | null 2 | -------------------------------------------------------------------------------- /test/jsontest/valid/valid-0012.json: -------------------------------------------------------------------------------- 1 | { 2 | "WHITE FROWNING FACE (U+2639)": "\ud83d\ude1e", 3 | "WIDE ALPHABET": "\uff20\uff21\uff22\uff23\uff24\uff25\uff26\uff27\uff28\uff29\uff2a\uff2b\uff2c\uff2d\uff2e\uff2f\uff30\uff31\uff32\uff33\uff34\uff35\uff36\uff37\uff38\uff39\uff3a", 4 | "Vive Unicode": "\ud835\udce5\ud835\udcf2\ud835\udcff\ud835\udcee \ud835\udce4\ud835\udcf7\ud835\udcf2\ud835\udcec\ud835\udcf8\ud835\udced\ud835\udcee" 5 | } 6 | -------------------------------------------------------------------------------- /test/meson.bash: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | $@ 4 | 5 | -------------------------------------------------------------------------------- /test/meson_options.txt: -------------------------------------------------------------------------------- 1 | option('ebug', type: 'integer', value: '4', description: 'set debug level, 0 disable 4 full') 2 | option('olor', type: 'integer', value: '1', description: 'color debug, 0 disable 1 active') 3 | option('assert', type: 'integer', value: '1', description: 'enable assertion') 4 | option('optimize', type: 'integer', value: '2', description: 'enable optimization') 5 | option('openmp', type: 'integer', value: '0', description: 'enable openmp') 6 | option('gprof', type: 'integer', value: '0', description: 'enable gprof') 7 | option('autovectorization', type: 'integer', value: '1', description: 'enable vectorization') 8 | option('efdbg', type: 'integer', value: '0', description: 'enable efdbg') 9 | 10 | 11 | -------------------------------------------------------------------------------- /test/src/data.c: -------------------------------------------------------------------------------- 1 | #include "test.h" 2 | 3 | __private char* DATA[] = { 4 | "vbextreme", 5 | "vbx", 6 | "miao", 7 | "ciao", 8 | "andrea", 9 | "hello world", 10 | "any word", 11 | "\x1B[1F", 12 | NULL 13 | }; 14 | 15 | __private char** data_builtin(void){ 16 | char** ret = vector_new(char*, 8, free); 17 | for( size_t i = 0; DATA[i]; ++i){ 18 | vector_push_back(ret, DATA[i]); 19 | } 20 | return ret; 21 | } 22 | 23 | char** data_word(const char* pdata){ 24 | if( pdata == NULL ){ 25 | return data_builtin(); 26 | } 27 | 28 | __mem_free char* path = path_resolve(pdata); 29 | __stream_close stream_s* dataf = stream_open(path, "r", 0, STREAM_CHUNK); 30 | 31 | printf("data word:%s\n",path); 32 | if( !dataf ){ 33 | err_print(); 34 | exit(1); 35 | } 36 | 37 | char** ret = vector_new(char*, 256, free); 38 | 39 | char* line; 40 | size_t total = 0; 41 | while( stream_inp(dataf, &line, '\n', 0) > 0 && line != NULL ){ 42 | //dbg_info("%s", line); 43 | vector_push_back(ret, line); 44 | ++total; 45 | if( !(total % 100) ){ 46 | printf("\rdata loading: %lu", total); 47 | fflush(stdout); 48 | } 49 | } 50 | printf("\rdata loading: %lu\n", total); 51 | 52 | return ret; 53 | } 54 | 55 | void data_word_free(char** v, const char* pdata){ 56 | if( !pdata ) return; 57 | vector_free(v); 58 | } 59 | 60 | 61 | 62 | 63 | 64 | 65 | 66 | 67 | -------------------------------------------------------------------------------- /test/src/err.c: -------------------------------------------------------------------------------- 1 | #include "test.h" 2 | 3 | /*@test -e --err 'test error'*/ 4 | 5 | /*@fn*/ 6 | void test_err(__unused const char* argA, __unused const char* argB){ 7 | err_enable(); 8 | 9 | err_pushf("test %d\n",1); 10 | const char* str = err_descript(); 11 | TESTF("err1", strcmp(str, "test 1\n") ); 12 | err_pushf("test %d\n",2); 13 | str = err_descript(); 14 | TESTF("err2", strcmp(str, "test 1\ntest 2\n") ); 15 | err_clear(); 16 | str = err_descript(); 17 | TESTF("err3", *str ); 18 | 19 | err_restore(); 20 | } 21 | 22 | -------------------------------------------------------------------------------- /test/src/ftp.c: -------------------------------------------------------------------------------- 1 | #include "test.h" 2 | #include 3 | 4 | /*@test -t --ftp 'test ftp'*/ 5 | 6 | void ftp_ls(char* site){ 7 | ftp_s* ftp = ftp_new(4096, WWW_FLAGS_SSL, NULL); 8 | if( !ftp ){ 9 | err_print(); 10 | return; 11 | } 12 | 13 | ftp_site(ftp, site); 14 | ftp_cd(ftp, "/"); 15 | 16 | ftpStat_s* lst = ftp_list(ftp); 17 | if( !lst ){ 18 | err_print(); 19 | return; 20 | } 21 | 22 | vector_foreach(lst, i){ 23 | printf("[%4x]%s\n", lst[i].mode, lst[i].name); 24 | } 25 | 26 | ftp_free(ftp); 27 | } 28 | 29 | 30 | /*@fn*/ 31 | void test_ftp(__unused const char* argA, __unused const char* argB){ 32 | err_enable(); 33 | 34 | ftp_ls("ftp://ftp.gnu.org"); 35 | 36 | err_restore(); 37 | } 38 | -------------------------------------------------------------------------------- /test/src/fuzzys.c: -------------------------------------------------------------------------------- 1 | #include "test.h" 2 | #include 3 | 4 | /*@test -F --fuzzy-search 'test fuzzy search, use arg-a for data, use arg-b for search string, default is vbextreme'*/ 5 | 6 | __private void fuzzyadd(fzsElement_s** v, const char* name){ 7 | fzsElement_s tmp = { 8 | .str = name, 9 | .len = strlen(name), 10 | .distance = fzs_levenshtein(name, 0, name, 0) 11 | }; 12 | vector_push_back(*v, tmp); 13 | } 14 | 15 | /*@fn*/ 16 | void test_fuzzysearch(const char* a, const char* b){ 17 | err_enable(); 18 | 19 | if( b == NULL ) b = "vbextreme"; 20 | 21 | char** edata = data_word(a); 22 | if( !edata ){ 23 | err_print(); 24 | return; 25 | } 26 | 27 | __vector_free fzsElement_s* fzd = vector_new(fzsElement_s, 32, NULL); 28 | vector_foreach(edata, i){ 29 | fuzzyadd(&fzd, edata[i]); 30 | } 31 | 32 | fzs_qsort(fzd, b, 0); 33 | 34 | vector_foreach(fzd, i){ 35 | printf("%s:%ld\n", fzd[i].str, fzd[i].distance); 36 | } 37 | 38 | data_word_free(edata, a); 39 | 40 | err_restore(); 41 | } 42 | 43 | -------------------------------------------------------------------------------- /test/src/main.c: -------------------------------------------------------------------------------- 1 | #include "test.h" 2 | #include "autogen.h" 3 | #include 4 | 5 | typedef void(*test_f)(const char* a, const char* b); 6 | 7 | AUTOGEN_PROTO 8 | 9 | __private test_f tfn[] = { 10 | AUTOGEN_FN 11 | NULL 12 | }; 13 | 14 | 15 | typedef enum{ 16 | ARG_HELP, 17 | ARG_A, 18 | ARG_B, 19 | ARG_AUTO 20 | }optarg_e; 21 | 22 | argdef_s args[] = { 23 | {0, 'h', "help", ARGDEF_NOARG, NULL, "help/usage"}, 24 | {0, 'a', "arg-a", ARGDEF_STR,NULL,"arg a"}, 25 | {0, 'b', "arg-b", ARGDEF_STR,NULL,"arg a"}, 26 | AUTOGEN_OPT 27 | {0, 0, NULL, ARGDEF_NOARG, NULL, NULL} 28 | }; 29 | 30 | int main(int argc, char* argv[]){ 31 | err_begin(); 32 | err_enable(); 33 | utf_begin(); 34 | 35 | int unparsed = opt_parse(args, argv, argc); 36 | 37 | if( unparsed < 0 ){ 38 | opt_error(argc, argv); 39 | return 1; 40 | } 41 | 42 | if( opt_enabled(args, ARG_HELP) ){ 43 | opt_usage(args, argv[0]); 44 | return 0; 45 | } 46 | 47 | const char* a = opt_enabled(args,ARG_A) ? opt_arg_str(args,ARG_A) : NULL; 48 | const char* b = opt_enabled(args,ARG_B) ? opt_arg_str(args,ARG_B) : NULL; 49 | 50 | for( size_t i = 0; tfn[i]; ++i){ 51 | if( opt_enabled(args, ARG_AUTO+i) ){ 52 | tfn[i](a,b); 53 | } 54 | } 55 | err_end(); 56 | return 0; 57 | } 58 | 59 | -------------------------------------------------------------------------------- /test/src/test.h: -------------------------------------------------------------------------------- 1 | #ifndef __TEST_H__ 2 | #define __TEST_H__ 3 | 4 | #include 5 | #include 6 | #include 7 | #include 8 | #include 9 | #include 10 | #include 11 | #include 12 | #include 13 | 14 | #define TESTF(STR,F) do{\ 15 | printf("test:%s::",STR);\ 16 | if( (F) ){\ 17 | printf("error\n");\ 18 | err_print();\ 19 | }\ 20 | else{\ 21 | printf("ok\n");\ 22 | }\ 23 | }while(0) 24 | 25 | #define TESTT(STR,F) do{\ 26 | printf("test:%s::",STR);\ 27 | if( !(F) ){\ 28 | printf("error\n");\ 29 | err_print();\ 30 | }\ 31 | else{\ 32 | printf("ok\n");\ 33 | }\ 34 | }while(0) 35 | 36 | char** data_word(const char* pdata); 37 | void data_word_free(char** v, const char* pdata); 38 | 39 | #endif 40 | -------------------------------------------------------------------------------- /test/src/trie.c: -------------------------------------------------------------------------------- 1 | #include "test.h" 2 | #include 3 | 4 | /*@test -T --trie 'test trie, use arg-a for file data, without use internal data set'*/ 5 | 6 | /*@fn*/ 7 | void test_trie(const char* a, __unused const char* b){ 8 | int ret = 1; 9 | 10 | char** edata = data_word(a); 11 | if( !edata ){ 12 | err_print(); 13 | return; 14 | } 15 | 16 | __trie_free trie_s* tr = trie_new(NULL); 17 | 18 | vector_foreach(&edata, i){ 19 | if( trie_insert(tr, edata[i], edata[i]) ){ 20 | ret = 0; 21 | break; 22 | } 23 | if( !(i%100) ){ 24 | printf("\radd::%lu%%", (i*100) / vector_count(edata)); 25 | fflush(stdout); 26 | } 27 | } 28 | printf("\r"); 29 | TESTT("trie insert", ret == 1); 30 | if( !ret ){ 31 | data_word_free(edata, a); 32 | return; 33 | } 34 | ret = 1; 35 | 36 | vector_foreach(&edata, i){ 37 | char* s = trie_search(tr, edata[i]); 38 | if( strcmp(s, edata[i]) ){ 39 | err_push("fail to search %s in trie", edata[i] ); 40 | ret = 0; 41 | break; 42 | } 43 | if( !(i%100) ){ 44 | printf("\rsearch::%lu%%", (i*100) / vector_count(edata)); 45 | fflush(stdout); 46 | } 47 | } 48 | printf("\r"); 49 | TESTT("trie search", ret == 1); 50 | if( !ret ){ 51 | err_print(); 52 | } 53 | 54 | data_word_free(edata, a); 55 | } 56 | 57 | -------------------------------------------------------------------------------- /test/src/vector.c: -------------------------------------------------------------------------------- 1 | #include "test.h" 2 | 3 | /*@test -v --vector 'test vector'*/ 4 | 5 | /*@fn*/ 6 | void test_vector(__unused const char* argA, __unused const char* argB){ 7 | err_enable(); 8 | 9 | int* v = vector_new(int, 3, NULL); 10 | vector_push_back(v,1); 11 | vector_push_back(v,2); 12 | vector_push_back(v,3); 13 | vector_push_back(v,4); 14 | dbg_info("vector.count:%lu",vector_count(v)); 15 | 16 | int* k = vector_get_push_back(v); 17 | *k = 5; 18 | 19 | dbg_info("remove"); 20 | vector_remove(v, 2); 21 | vector_foreach(v, i){ 22 | dbg_info("%d",v[i]); 23 | } 24 | dbg_info("vector.count:%lu",vector_count(v)); 25 | 26 | dbg_info("add"); 27 | vector_add(v,2,3); 28 | vector_foreach(v, i){ 29 | dbg_info("%d",v[i]); 30 | } 31 | dbg_info("vector.count:%lu",vector_count(v)); 32 | 33 | vector_free(v); 34 | 35 | char** str = vector_new(char*, 3, free); 36 | vector_push_back(str, str_dup("ciao",0)); 37 | vector_push_back(str, str_dup("mondo",0)); 38 | vector_push_back(str, str_dup("ok",0)); 39 | vector_push_back(str, str_dup("va",0)); 40 | 41 | vector_foreach(str, i){ 42 | dbg_info("%s", str[i]); 43 | } 44 | 45 | vector_free(str); 46 | 47 | err_restore(); 48 | } 49 | 50 | -------------------------------------------------------------------------------- /test/tls/gentool.x509: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | 3 | if [[ $# != 1 ]]; then 4 | echo "usage: gentool " 5 | exit 0 6 | fi 7 | 8 | SRVFQDN=$1 9 | 10 | 11 | [[ ! -f ./ca-key.pem ]] && certtool --generate-privkey --outfile ca-key.pem 12 | [[ ! -f ./ca-cert.pem ]] && certtool --generate-self-signed --load-privkey ca-key.pem --outfile ca-cert.pem 13 | certtool --generate-privkey --outfile $SRVFQDN.key 14 | certtool --generate-certificate --load-privkey $SRVFQDN.key \ 15 | --outfile $SRVFQDN.crt --load-ca-certificate ca-cert.pem \ 16 | --load-ca-privkey ca-key.pem 17 | 18 | -------------------------------------------------------------------------------- /test/tls/openssl.x509: -------------------------------------------------------------------------------- 1 | #!/usr/bin/bash 2 | 3 | if [[ $# < 1 ]]; then 4 | echo "usage: openssl.x509 " 5 | exit 0 6 | fi 7 | 8 | NAME=$1 9 | PASS=$2 10 | EXTRAS='' 11 | [[ "$PASS" != 1 ]] && EXTRAS='-nodes' 12 | 13 | 14 | openssl req -x509 -subj "/C=US/ST=Oregon/L=Portland/O=Company Name/OU=Org/CN=www.example.com" \ 15 | -newkey rsa:4096 -sha256 \ 16 | -keyout ${NAME}.key.pem \ 17 | -out ${NAME}.cert.pem \ 18 | -days 365 $EXTRAS 19 | 20 | -------------------------------------------------------------------------------- /test/valgrind.test: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | cd .. 4 | cd build-dbg 5 | meson configure -Doptimize=0 -Dautovectorization=0 -Debug=0 6 | ninja 7 | cd .. 8 | 9 | cd ./test/build 10 | meson configure -Defdbg=1 -Doptimize=0 -Dautovectorization=0 -Debug=0 11 | ninja 12 | cd .. 13 | 14 | valgrind --undef-value-errors=no --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=20 --track-fds=yes\ 15 | ./build/testef -g 16 | 17 | cd build 18 | meson configure -Defdbg=0 -Doptimize=2 -Dautovectorization=1 -Debug=4 19 | 20 | -------------------------------------------------------------------------------- /ti/ef-term-extend.ti: -------------------------------------------------------------------------------- 1 | ef-term-extend|vbextreme common term caps, 2 | color16_bk=\E[%{40}%p1%+%dm, 3 | color16_fg=\E[%{30}%p1%+%dm, 4 | color256_bk=\E[48;5;%p1%dm, 5 | color256_fg=\E[38;5;%p1%dm, 6 | color24_bk=\E[48;2;%p1%d;%p2%d;%p3%dm, 7 | color24_fg=\E[38;2;%p1%d;%p2%d;%p3%dm, 8 | color_reset=\E[0m, 9 | term_resize=\E[8;%p1%d;%p2%dt, 10 | term_minimize=\E[2t, 11 | term_restore=\E[1t, 12 | term_move=\E[3;%p1%d;%p2%dt, 13 | term_zoom=\E[9;1t, 14 | term_zorder=\E[5t, 15 | mouse_enable=\E[?1000h, 16 | mouse_disable=\E[?1000l, 17 | mouse_move_enable=\E[?1003h, 18 | mouse_move_disable=\E[?1003l, 19 | mouse_focus_enable=\E[?1004h, 20 | mouse_focus_disable=\E[?1004l, 21 | key_shift_up=\E[1;2A, 22 | key_shift_down=\E[1;2B, 23 | key_shift_left=\E[1;2D, 24 | key_shift_right=\E[1;2C, 25 | key_ctrl_up=\E[1;5A, 26 | key_ctrl_down=\E[1;5B, 27 | key_ctrl_left=\E[1;5D, 28 | key_ctrl_right=\E[1;5C, 29 | --------------------------------------------------------------------------------