diff options
Diffstat (limited to 'doc/gawk.info')
-rw-r--r-- | doc/gawk.info | 245 |
1 files changed, 122 insertions, 123 deletions
diff --git a/doc/gawk.info b/doc/gawk.info index 73fac121..f093d4fe 100644 --- a/doc/gawk.info +++ b/doc/gawk.info @@ -21549,7 +21549,7 @@ chancy operation. Pat Rankin suggested the solution that was adopted. Communication between `gawk' and an extension is two-way. First, when an extension is loaded, it is passed a pointer to a `struct' whose fields are -function pointers. +function pointers. This is shown in *note load-extension::. API Struct @@ -21580,7 +21580,8 @@ Figure 16.1: Loading the extension The extension can call functions inside `gawk' through these function pointers, at runtime, without needing (link-time) access to `gawk''s symbols. One of these function pointers is to a function for -"registering" new built-in functions. +"registering" new built-in functions. This is shown in *note +load-new-function::. register_ext_func({ "chdir", do_chdir, 1 }); @@ -21600,7 +21601,7 @@ Figure 16.2: Loading the new function with `gawk' by passing function pointers to the functions that provide the new feature (`do_chdir()', for example). `gawk' associates the function pointer with a name and can then call it, using a defined -calling convention. +calling convention. This is shown in *note call-new-function::. BEGIN { chdir("/path") (*fnptr)(1); @@ -22893,8 +22894,6 @@ The data types associated with arrays are listed below. very similar to way `FILE *' values are used with the `<stdio.h>' library routines. -`' - `typedef struct awk_element {' ` /* convenience linked list pointer, not used by gawk */' ` struct awk_element *next;' @@ -32057,123 +32056,123 @@ Node: Extension New Mechanism Goals865798 Ref: Extension New Mechanism Goals-Footnote-1868510 Node: Extension Other Design Decisions868696 Node: Extension Mechanism Outline870443 -Ref: load-extension871426 -Ref: load-new-function872859 -Ref: call-new-function873795 -Node: Extension Future Growth875776 -Node: Extension API Description876518 -Node: Extension API Functions Introduction877838 -Node: General Data Types881913 -Ref: General Data Types-Footnote-1887546 -Node: Requesting Values887845 -Ref: table-value-types-returned888576 -Node: Constructor Functions889530 -Node: Registration Functions892526 -Node: Extension Functions893211 -Node: Exit Callback Functions895030 -Node: Extension Version String896273 -Node: Input Parsers896923 -Node: Output Wrappers905504 -Node: Two-way processors909897 -Node: Printing Messages912019 -Ref: Printing Messages-Footnote-1913096 -Node: Updating `ERRNO'913248 -Node: Accessing Parameters913987 -Node: Symbol Table Access915217 -Node: Symbol table by name915729 -Ref: Symbol table by name-Footnote-1917901 -Node: Symbol table by cookie917981 -Ref: Symbol table by cookie-Footnote-1922110 -Node: Cached values922173 -Ref: Cached values-Footnote-1925374 -Node: Array Manipulation925465 -Ref: Array Manipulation-Footnote-1926563 -Node: Array Data Types926602 -Ref: Array Data Types-Footnote-1929328 -Node: Array Functions929420 -Node: Flattening Arrays933186 -Node: Creating Arrays940017 -Node: Extension API Variables944813 -Node: Extension Versioning945449 -Node: Extension API Informational Variables947350 -Node: Extension API Boilerplate948436 -Node: Finding Extensions952270 -Node: Extension Example952817 -Node: Internal File Description953555 -Node: Internal File Ops957243 -Ref: Internal File Ops-Footnote-1968327 -Node: Using Internal File Ops968467 -Ref: Using Internal File Ops-Footnote-1970823 -Node: Extension Samples971089 -Node: Extension Sample File Functions972532 -Node: Extension Sample Fnmatch980901 -Node: Extension Sample Fork982627 -Node: Extension Sample Ord983841 -Node: Extension Sample Readdir984617 -Node: Extension Sample Revout986955 -Node: Extension Sample Rev2way987548 -Node: Extension Sample Read write array988238 -Node: Extension Sample Readfile990121 -Node: Extension Sample API Tests990876 -Node: Extension Sample Time991401 -Node: gawkextlib992710 -Node: Language History995093 -Node: V7/SVR3.1996615 -Node: SVR4998936 -Node: POSIX1000378 -Node: BTL1001386 -Node: POSIX/GNU1002120 -Node: Common Extensions1007655 -Node: Ranges and Locales1008762 -Ref: Ranges and Locales-Footnote-11013380 -Ref: Ranges and Locales-Footnote-21013407 -Ref: Ranges and Locales-Footnote-31013667 -Node: Contributors1013888 -Node: Installation1018184 -Node: Gawk Distribution1019078 -Node: Getting1019562 -Node: Extracting1020388 -Node: Distribution contents1022080 -Node: Unix Installation1027302 -Node: Quick Installation1027919 -Node: Additional Configuration Options1029881 -Node: Configuration Philosophy1031358 -Node: Non-Unix Installation1033700 -Node: PC Installation1034158 -Node: PC Binary Installation1035457 -Node: PC Compiling1037305 -Node: PC Testing1040249 -Node: PC Using1041425 -Node: Cygwin1045610 -Node: MSYS1046610 -Node: VMS Installation1047124 -Node: VMS Compilation1047727 -Ref: VMS Compilation-Footnote-11048734 -Node: VMS Installation Details1048792 -Node: VMS Running1050427 -Node: VMS Old Gawk1052034 -Node: Bugs1052508 -Node: Other Versions1056360 -Node: Notes1061675 -Node: Compatibility Mode1062262 -Node: Additions1063045 -Node: Accessing The Source1063972 -Node: Adding Code1065398 -Node: New Ports1071440 -Node: Derived Files1075575 -Ref: Derived Files-Footnote-11080880 -Ref: Derived Files-Footnote-21080914 -Ref: Derived Files-Footnote-31081514 -Node: Future Extensions1081612 -Node: Basic Concepts1083099 -Node: Basic High Level1083780 -Ref: figure-general-flow1084051 -Ref: figure-process-flow1084650 -Ref: Basic High Level-Footnote-11087879 -Node: Basic Data Typing1088064 -Node: Glossary1091419 -Node: Copying1116730 -Node: GNU Free Documentation License1154287 -Node: Index1179424 +Ref: load-extension871468 +Ref: load-new-function872946 +Ref: call-new-function873927 +Node: Extension Future Growth875908 +Node: Extension API Description876650 +Node: Extension API Functions Introduction877970 +Node: General Data Types882045 +Ref: General Data Types-Footnote-1887678 +Node: Requesting Values887977 +Ref: table-value-types-returned888708 +Node: Constructor Functions889662 +Node: Registration Functions892658 +Node: Extension Functions893343 +Node: Exit Callback Functions895162 +Node: Extension Version String896405 +Node: Input Parsers897055 +Node: Output Wrappers905636 +Node: Two-way processors910029 +Node: Printing Messages912151 +Ref: Printing Messages-Footnote-1913228 +Node: Updating `ERRNO'913380 +Node: Accessing Parameters914119 +Node: Symbol Table Access915349 +Node: Symbol table by name915861 +Ref: Symbol table by name-Footnote-1918033 +Node: Symbol table by cookie918113 +Ref: Symbol table by cookie-Footnote-1922242 +Node: Cached values922305 +Ref: Cached values-Footnote-1925506 +Node: Array Manipulation925597 +Ref: Array Manipulation-Footnote-1926695 +Node: Array Data Types926734 +Ref: Array Data Types-Footnote-1929456 +Node: Array Functions929548 +Node: Flattening Arrays933314 +Node: Creating Arrays940145 +Node: Extension API Variables944941 +Node: Extension Versioning945577 +Node: Extension API Informational Variables947478 +Node: Extension API Boilerplate948564 +Node: Finding Extensions952398 +Node: Extension Example952945 +Node: Internal File Description953683 +Node: Internal File Ops957371 +Ref: Internal File Ops-Footnote-1968455 +Node: Using Internal File Ops968595 +Ref: Using Internal File Ops-Footnote-1970951 +Node: Extension Samples971217 +Node: Extension Sample File Functions972660 +Node: Extension Sample Fnmatch981029 +Node: Extension Sample Fork982755 +Node: Extension Sample Ord983969 +Node: Extension Sample Readdir984745 +Node: Extension Sample Revout987083 +Node: Extension Sample Rev2way987676 +Node: Extension Sample Read write array988366 +Node: Extension Sample Readfile990249 +Node: Extension Sample API Tests991004 +Node: Extension Sample Time991529 +Node: gawkextlib992838 +Node: Language History995221 +Node: V7/SVR3.1996743 +Node: SVR4999064 +Node: POSIX1000506 +Node: BTL1001514 +Node: POSIX/GNU1002248 +Node: Common Extensions1007783 +Node: Ranges and Locales1008890 +Ref: Ranges and Locales-Footnote-11013508 +Ref: Ranges and Locales-Footnote-21013535 +Ref: Ranges and Locales-Footnote-31013795 +Node: Contributors1014016 +Node: Installation1018312 +Node: Gawk Distribution1019206 +Node: Getting1019690 +Node: Extracting1020516 +Node: Distribution contents1022208 +Node: Unix Installation1027430 +Node: Quick Installation1028047 +Node: Additional Configuration Options1030009 +Node: Configuration Philosophy1031486 +Node: Non-Unix Installation1033828 +Node: PC Installation1034286 +Node: PC Binary Installation1035585 +Node: PC Compiling1037433 +Node: PC Testing1040377 +Node: PC Using1041553 +Node: Cygwin1045738 +Node: MSYS1046738 +Node: VMS Installation1047252 +Node: VMS Compilation1047855 +Ref: VMS Compilation-Footnote-11048862 +Node: VMS Installation Details1048920 +Node: VMS Running1050555 +Node: VMS Old Gawk1052162 +Node: Bugs1052636 +Node: Other Versions1056488 +Node: Notes1061803 +Node: Compatibility Mode1062390 +Node: Additions1063173 +Node: Accessing The Source1064100 +Node: Adding Code1065526 +Node: New Ports1071568 +Node: Derived Files1075703 +Ref: Derived Files-Footnote-11081008 +Ref: Derived Files-Footnote-21081042 +Ref: Derived Files-Footnote-31081642 +Node: Future Extensions1081740 +Node: Basic Concepts1083227 +Node: Basic High Level1083908 +Ref: figure-general-flow1084179 +Ref: figure-process-flow1084778 +Ref: Basic High Level-Footnote-11088007 +Node: Basic Data Typing1088192 +Node: Glossary1091547 +Node: Copying1116858 +Node: GNU Free Documentation License1154415 +Node: Index1179552 End Tag Table |