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



M
E
M
_
S
E
T
A
D
D
R
J
T
S
L
O
T
(
)

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

                                 AMIGA - MEM_#?
 ----------------------------------------------------------------------------

   NAME

      mem_setaddrjtslot() - Sets offset or absolute routine
                            address per slot.



   SYNOPSIS

      ofp = mem_setaddrjtslot(jtab, fp, slot);

      LONG mem_setaddrjtslot(
                            struct Library **, LONG, LONG);



   FUNCTION

      This LBS companion function allows programmer to load
      routine offset at which routine jump entry resides or
      pass the function address directly per slot.



   INPUTS

      jtab - Local jump table pointer.

      fp   - Offset (negative value) or address (a positive
             value). Stuffing 0 makes this routine to ret.
             existing offset/address only.

      slot - Slot number to affect. Counting from 1. If you
             want to use offsets then include priv. header:
             'a-mem_xxxjumptable.h' and use macros.


   RETURNS

      Ret. old/curr. offset or absolute pointer or NULL if
      nothing was set.



   BASES

      SysBase



   NOTES

      Warning! No arbitration is performed when altering the
      slot!

      Normally this function will call 'CacheClearU()' after
      new 'fp' has been set! It is possible to disable that.

      This func. works pretty much like 'SetFunction()'. The
      difference is it does not modify jump table but a call
      table.

      Yes, this function can change slot appearance in a way
      that if a j. table was allocated strictly for absolute
      addressing or strictly for relative addressing it is
      possible to change that per slot anytime. See enclosed
      example below.



   SEE ALSO

      mem_allocjumptable(), mem_freejumptable(),
      mem_swapjumptable(), mem_importjumptable(),
      mem_filljumptable(), mem_setdatajtslot(),
      mem_addrfrombase()



   EXAMPLE

      #include <qlbs.h>
      #include <qdev.h>
      #include <proto/exec.h>

      /*
       * Slot number 5 is at offset 30 in our local 'jt'.
      */
      #define Wait_CALL(signalSet) LP1(\
      30, ULONG, Wait, ULONG, signalSet, d0,, *(void **)jt)

      ...

      struct Library **jt;

      if ((jt = mem_allocjumptable(16,
            QDEV_MEM_LBS_FABSCALL | QDEV_MEM_LBS_FNOFLUSH)))
      {
        /*
         * Associate jump table with call table. You must
         * call this routine if you don't import other lib!
        */
        mem_filljumptable(jt, -1, -1, 1, 16);

        /*
         * I have got 16 slots and i want to map one of the
         * 'exec' routines, say 'Wait()' which is at -318 to
         * slot 5 in a relative way.
        */
        mem_setaddrjtslot(jt, -318, 5);

        mem_setdatajtslot(jt, SysBase, 5);

        /*
         * Allow cache flushes and do flush them right now.
        */
        mem_swapjumptable(NULL, jt);

        /*
         * I can now call 'exec' routine using my local jump
         * table.
        */
        Wait_CALL(SIGBREAKF_CTRL_C);

        mem_freejumptable(jt);
      }



   BUGS

      None known.



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


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