About
Docs
Files
Support
Index

Essentials
AutoDocs
Library functions
Cooperate
Process mastering
Debug
Own debugging kit
FGE
Smart modeid pick
Loader
Shared lib. loader
Macros
Helper macros
Structs
All the structures
Logs
Library changelogs
Tools
Progs baked inside

API
crt_createargv()A
crt_destroyargv()A
crt_initmethod()A
crt_exitmethod()A
crt_newinstance()A
crt_freeinstance()A
ctl_clipath()A
ctl_devmount()A
ctl_devunmount()A
ctl_diskreqoff()A
ctl_diskreqon()A
ctl_haltidcmp()A
ctl_newshell()A
ctl_rearrangecon()A
ctl_relabel()A
ctl_setclistack()A
ctl_swapbackpen()A
ctl_udirassign()A
ctl_addbartrigger()A
ctl_pokebartrigger()A
ctl_rembartrigger()A
ctl_addconlogo()A
ctl_swapconlogo()A
ctl_remconlogo()A
ctl_addconlogof()A
ctl_remconlogof()A
ctl_setconlogof()A
ctl_openconscreen()A
ctl_closeconscreen()A
ctl_doconswitch()A
ctl_undoconswitch()A
ctl_addidcmphandler()A
ctl_remidcmphandler()A
ctl_findscreensafe()A
ctl_lockscreensafe()A
ctl_unlockscreensafe()A
ctl_addviewctrl()A
ctl_remviewctrl()A
ctl_zoomifycon()A
ctl_setsmparams()A
dev_getdiskcmdset()A
dev_opendiskdev()A
dev_closediskdev()A
dev_getdiskgeo()A
dev_freediskgeo()A
dev_getdiskrdb()A
dev_freediskrdb()A
dmt_mountcb()A
dos_addfdrelay()A
dos_ctrlfdrelay()A
dos_dopacket()A
dos_getpacket()A
dos_qflink()A
dos_qfopen()A
dos_qfwait()A
dos_qfispending()A
dos_qfsetmode()A
dos_qfsetintsig()A
dos_qfsetfctwait()A
dos_qfread()A
dos_qfwrite()A
dos_qfseek()A
dos_qfabort()A
dos_qfclose()A
dos_remfdrelay()A
dos_addlinkpoint()A
dos_dclinkpoint()A
dos_remlinkpoint()A
dos_devbymsgport()A
dos_makedevice()A
dos_checkdevice()A
dos_killdevice()A
dos_getfmfdrelay()A
dos_freefmfdrelay()A
dos_replypacket()A
dos_swapmpfdrelay()A
dos_waitpacket()A
han_binaryifh()A
han_rollifh()A
han_rwifh()A
han_termifh()A
mem_allocbmapthere()A
mem_cooperate()A
mem_dosynctask()A
mem_dosynctasks()A
mem_freepentab()A
mem_getwbstartup()A
mem_grabqarea()A
mem_iloadseg()A
mem_uniloadseg()A
mem_iloadseg2()A
mem_uniloadseg2()A
mem_initemptybmap()A
mem_remapbitmap()A
mem_remapbitmap2()A
mem_signalsafe()A
mem_makebmapfromimg()A
mem_addexhandler()A
mem_remexhandler()A
mem_attachhotvec()A
mem_attachrelhotvec()A
mem_detachhotvec()A
mem_resolvehotvec()A
mem_obtainhotvec()A
mem_obtainrelhotvec()A
mem_openifh()A
mem_closeifh()A
mem_convimgtobmap()A
mem_copyitnimage()A
mem_freeitnimage()A
mem_setaddrjtslot()A
mem_setdatajtslot()A
mem_allocjumptable()A
mem_freejumptable()A
mem_swapjumptable()A
mem_filljumptable()A
mem_importjumptable()A
mem_growpenholder()A
mem_freepenholder()A
mem_loadpicture()A
mem_freepicture()A
mem_alloclfvec()A
mem_freelfvec()A
mem_checklfvec()A
mem_allocvecpooled()A
mem_freevecpooled()A
mem_setvecpooled()A
mem_allocmemregion()A
mem_freememregion()A
mem_attachsniffer()A
mem_detachsniffer()A
mem_allocterm()A
mem_fixterm()A
mem_freeterm()A
mem_maketokenlist()A
mem_freetokenlist()A
mod_codereloc()A
mod_codefree()A
mod_codefind()A
mod_findktpresby()A
mod_getmemlist()A
mod_kicktaglink()A
mod_kicktagunlink()A
mod_ktpresunlink()A
mod_ktprescount()A
mod_addmodule()A
mod_delmodule()A
mod_adddiskmodule()A
mod_deldiskmodule()A
nfo_devvercmp()A
nfo_findgfxentry()A
nfo_findgfxrange()A
nfo_findgfxreso()A
nfo_findgfxsm()A
nfo_fsquery()A
nfo_fssmvalid()A
nfo_getcmcolors()A
nfo_getconioreq()A
nfo_getconunit()A
nfo_getscparams()A
nfo_getdrimap()A
nfo_getviscount()A
nfo_getvisstate()A
nfo_getwinaddr()A
nfo_grepml()A
nfo_idcmptoindex()A
nfo_isblitable()A
nfo_ischildofproc()A
nfo_isdev64bit()A
nfo_isdirectory()A
nfo_isinstack()A
nfo_isonmemlist()A
nfo_isonlistofml()A
nfo_ispdev64bit()A
nfo_issegremote()A
nfo_istask()A
nfo_iswindow()A
nfo_ktm()A
nfo_libvercmp()A
nfo_m68kcputype()A
nfo_modeidcount()A
nfo_scanlist()A
nfo_scanturbo()A
nfo_screencount()A
nfo_stackreport()A
nfo_stackvalid()A
nfo_typeofgfxmem()A
nfo_waitback()A
nfo_whichchipset()A
nfo_getargsource()A
nfo_freeargsource()A
ctl_clirun()P
ctl_makedir()P
ctl_getsmparams()P
mem_addrfrombase()P
mem_findinfile()P
mem_findinfileq()P
mem_lzwcompress()P
mem_lzwdecompress()P
mem_lzwfree()P
mem_scanfile()P
mem_scanlbl()P
mem_allocarray()P
mem_accessarray()P
mem_freearray()P
mem_alloccluster()P
mem_freecluster()P
mem_getmemcluster()P
mem_freememcluster()P
mem_copysmlcb()P
mem_freesmlcb()P
mem_readsrcimage()P
mem_freesrcimage()P
nfo_getsystime()P
nfo_scanml()P
txt_debugprintf()P
txt_strboth()P
txt_strpat()P
cnv_ALtoULONG()I
cnv_AtoULONG()I
cnv_ULONGtoA()I
cnv_ULONGtoBITS()I
ctl_relocdrimap()I
dev_sizeingigs()I
dos_bcopydevice()I
mem_addrfromlvo()I
mem_csumchs32()I
mem_csumeor32()I
mem_csumint32()I
mem_fnv128hash()I
mem_fnv64hash()I
mem_pjw64hash()I
nfo_isconsole()I
nfo_ismode15khz()I
nfo_isprime()I
nfo_nearestprime()I
nfo_numdivisors()I
txt_bstrncat()I
txt_bstrnpcat()I
txt_strnvacat()I
txt_datdat()I
txt_fixquotes()I
txt_fnv128hash()I
txt_fnv64hash()I
txt_iniparse()I
txt_memcmp()I
txt_memfill()I
txt_needslash()I
txt_noansi()I
txt_nocomment()I
txt_parseline()I
txt_pjw64hash()I
txt_psnprintf()I
txt_quickhash()I
txt_skipcc()I
txt_strchr()I
txt_strcmp()I
txt_strcspn()I
txt_stripansi()I
txt_strlen()I
txt_strncat()I
txt_strnpcat()I
txt_strspn()I
txt_strstr()I
txt_strtok()I
txt_tokenify()I
txt_vcbpsnprintf()I
txt_vpsnprintf()I



N
F
O
_
S
C
A
N
T
U
R
B
O
(
)

SOURCE: qdev_autodocs.txt 1.163 (12/09/2014) English

                                 AMIGA - NFO_#?
 ----------------------------------------------------------------------------

   NAME

      nfo_scanturbo() - Iterates an array of doubly linked
                        lists in a fast way.



   SYNOPSIS

      res = nfo_scanturbo(list, udata, ucode);

      LONG nfo_scanturbo(
                LONG, void *, void (*)(struct nfo_stu_cb *));



   FUNCTION

      This func. does the delta scan of a list by accessing
      both ends at a time and passing them (nodes) to the CB.



   INPUTS

      list  - An array(table) of pointers to (struct List *)
              pointers.

      udata - User data pointer (NULL if no data).

      ucode - Callback function pointer.



   RETURNS

      Returns 0 if no stu_ures CB struct. member was altered
      by the user.



   BASES

      None.



   NOTES

      This func. indeed is faster than regular iteration even
      on entry miss since it only needs to do the (LIST / 2)!
      In worst case when the entry is located in the middle
      of the list it will be as slow as regular iteration but
      way faster when the entry is somewhere near bottom and
      the top of course.

      Processing speed also depends on what will be done in
      the CB. Simple address matching may turn out turbo, but
      string comparision not necessarily since you will have
      to compare two times in a row for head and tail nodes.

      Use the  QDEV_NFO_STURBO_MATCH() macro to quickly check
      given address against both nodes. This macro returns
      the node which matches the address.

      Use QDEV_NFO_STURBO_BREAK() macro after the successful
      match to stop iterator.

      Visit 'examples' directory to learn how to properly use
      this routine.



   SEE ALSO


      nfo_scanlist()



   EXAMPLE

      None.



   BUGS

      None known.



 ----------------------------------------------------------------------------
    






No more fear cus pure HTML is here!
Copyright (C) 2013-2014 by Burnt Chip Dominators