summaryrefslogtreecommitdiff
path: root/dlperl/dlperl.man
diff options
context:
space:
mode:
Diffstat (limited to 'dlperl/dlperl.man')
-rw-r--r--dlperl/dlperl.man219
1 files changed, 0 insertions, 219 deletions
diff --git a/dlperl/dlperl.man b/dlperl/dlperl.man
deleted file mode 100644
index 8879133ca2..0000000000
--- a/dlperl/dlperl.man
+++ /dev/null
@@ -1,219 +0,0 @@
-.\"
-.\" name: dlperl.man
-.\" synopsis: dlperl man page
-.\" sccsid: @(#)dlperl.man 1.4 10/16/92 (DLPERL)
-.\"
-.ds RP 10/16/92
-.rn '' }`
-.de Sh
-.br
-.ne 5
-.PP
-\fB\\$1\fR
-.PP
-..
-.de Sp
-.if t .sp .5v
-.if n .sp
-..
-.de Ip
-.br
-.ie \\n(.$>=3 .ne \\$3
-.el .ne 3
-.IP "\\$1" \\$2
-..
-'''
-''' Set up \*(-- to give an unbreakable dash;
-''' string Tr holds user defined translation string.
-''' Bell System Logo is used as a dummy character.
-'''
-.tr \(*W-|\(bv\*(Tr
-.ie n \{\
-.ds -- \(*W-
-.if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
-.if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
-.ds L" ""
-.ds R" ""
-.ds L' '
-.ds R' '
-'br\}
-.el\{\
-.ds -- \(em\|
-.tr \*(Tr
-.ds L" ``
-.ds R" ''
-.ds L' `
-.ds R' '
-'br\}
-.TH DLPERL 1 "\*(RP"
-.UC
-.SH NAME
-dlperl \- dynamic link-editor subroutines for perl
-.SH SYNOPSIS
-.nf
-.ft B
-$dl_so = &dl_open($file)
-$dl_func = &dl_sym($dl_so, $symbol)
-@vals = &dl_call($dl_func, $parms_desc, $return_desc, @parms)
-$dl_err = &dl_close($dl_so)
-.ft
-.fi
-.LP
-.nf
-.ft B
-$DL_VERSION
-$DL_WARN
-$dl_errno
-$dl_errstr
-.ft
-.fi
-.SH DESCRIPTION
-.I Dlperl
-is \fIperl\fP plus user defined subroutines (\fIusubs\fP) that
-interface to the dynamic link-editor and can call most C and Fortran
-functions whose object code has been linked into a shared object file.
-.Sh "Subroutines"
-All \fIdlperl\fP subroutines set the two predefined names $dl_errno and
-$dl_errstr. Only partial descriptions of &dl_open, &dl_sym and
-&dl_close appear below, see \fIdlopen(3x)\fP for a complete
-description. The following subroutines are defined by \fIdlperl\fP:
-.Ip "&dl_open($file)" 8 2
-Adds the shared object \fI$file\fP to \fIdlperl\fP's address space.
-Returns a descriptor that can be used for later reference to the object
-in calls to &dl_sym and &dl_close. When an error occurs
-an undef value is returned.
-.Ip "&dl_sym($dl_so, $symbol)" 8 2
-Obtains an address binding for the function \fI$symbol\fP as it occurs
-in the shared object identified by \fI$dl_so\fP. When an error occurs
-an undef value is returned.
-.Ip "&dl_call($dl_func, $parms_desc, $return_desc, @parms)" 8 2
-Calls the function identified by \fI$dl_func\fP. The function's entry
-parameters are described by \fI$parms_desc\fP and assigned values from
-\fI@parms\fP. The function's exit value is described by
-\fI$return_desc\fP. An array is returned that contains the values of
-any result parameters and the return value. When an error occurs
-because of a problem parsing the descriptions or because of an
-incorrect parameter count no values are returned (although the
-underlying function may have been called).
-.Sp
-The descriptions are sequences of characters that give the order and
-type of parameters:
-.nf
-
- c A signed char value.
- C An unsigned char value.
- s A signed short value.
- S An unsigned short value.
- i A signed integer value.
- I An unsigned integer value.
- l A signed long value.
- L An unsigned long value.
- f A single-precision float.
- d A double-precision float.
- a An ascii (null-terminated) string.
- p A pointer to <length> buffer.
-
-.fi
-Each letter may optionally be preceded by a number that gives a repeat
-count. An array is specified by a preceding \fI[array_size\fP] (or
-\fI&\fP as a shorthand for \fI[1]\fP). (Multi-dimension arrays are not
-currently supported.) Each scalar or array element is initialized from
-\fI@parms\fP. A preceding \fI-\fP leaves the parameter uninitialized.
-Type \fIp\fP expects a preceding \fI<buffer_length>\fP. A preceding
-\fI+\fP specifies that after the function is called that particular
-parameter's value is to be returned (multiple values are returned for
-array types, a \fI+\fP with a integral type like \fIi\fP returns an
-undef value). The \fI$return_desc\fP contains only one letter with no
-repeat count, \fI-\fP or \fI+\fP.
-.Sp
-An undef or zero-length \fI$parm_desc\fP means the function has no
-parameters. An undef or a zero-length \fI$return_desc\fP means the
-function returns void. Strings or buffers that must be a specific
-length (because the values are overwritten) must be pre-extended.
-Although type \fIf\fP is supported, compilers typically pass floats as
-doubles.
-.Ip "&dl_close($dl_so)" 8 2
-Removes the shared object identified by \fI$dl_so\fP from
-\fIdlperl\fP's address space. If successful, a value of zero is
-returned. When an error occurs a non-zero value is returned.
-.Sh "Predefined Names"
-The following names have special meaning to \fIdlperl\fP.
-.Ip $DL_VERSION 8
-The version of \fIdlperl\fP. This variable is read-only.
-.Ip $DL_WARN 8
-The current value of the \fIdlperl\fP warning flag. Default is 1. If
-non-zero, when errors occur warnings are sent to standard error. The
-warning is the same information that is stored in $dl_errstr.
-.Ip $dl_errno 8
-The error number for the error that occurred. If a \fIdlperl\fP
-subroutine completes successfully $dl_errno is set to zero. This variable
-is read-only.
-.Ip $dl_errstr 8
-The error message for the error that occurred. If a \fIdlperl\fP
-subroutine completes successfully $dl_errstr is set to a zero length
-string. This variable is read-only.
-.SH EXAMPLES
-This is an example of calling a simple C function:
-.Sp
-.nf
- open(OUT, ">example.c");
- print OUT <<'EOC';
- void
- example(a1, a2, i1, d1, a3)
- char *a1[2];
- char *a2[2];
- int i1;
- double *d1;
- char *a3[4];
- {
- a3[i1 + (int) *d1] = a1[0];
- a3[i1 * (int) *d1] = a1[1];
- a3[(int) *d1 - i1] = a2[0];
- a3[(int) *d1 - 2 * i1] = a2[1];
- }
- EOC
- close(OUT);
-
- system("cc -c example.c;ld -o example.so example.o");
-
- $dl_so = &dl_open("example.so");
- die "$0: $dl_errstr" if($dl_errno);
-
- $dl_func = &dl_sym($dl_so, "example");
- die "$0: $dl_errstr" if($dl_errno);
-
- $dl_func =~ s/(['\e\e])/\e\e$1/g;
- eval <<EOC;
- sub example {
- &dl_call('$dl_func', "2[2]a i &d -+[4]a", undef, @_);
- }
- EOC
-
- @vals = &example("hacker,", "Perl", "another", "Just", 1, 2);
- print "@vals\en";
-
- &dl_close($dl_so);
- die "$0: $dl_errstr" if($dl_errno);
-
- unlink('example.c', 'example.o', 'example.so');
-.fi
-.LP
-If a more complicated interface is needed, the dynamically linked
-function can define \fIusubs\fP by calling internal \fIperl\fP
-functions.
-.SH AUTHOR
-Eric Fifer <egf@sbi.com>
-.SH SEE ALSO
-.BR perl (1),
-.BR dlopen (3X),
-.BR ld (1)
-.SH BUGS
-Additional parameter types should be implemented to support structures,
-multi-dimension arrays, pointers to arrays, pointers to functions, etc.
-.LP
-Unlike the \fIpack\fP operator, the repeat count precedes the letter in
-the \fI$parm_desc\fP syntax. The array size preceding the parameter
-letter is also unconventional.
-.LP
-All errors set $dl_errno to 1.
-.rn }` ''