mirror of
https://github.com/samba-team/samba.git
synced 2025-01-10 01:18:15 +03:00
f3da7c8b44
specifying a endpoint is now also 'endpoint' instead of 'endpoints'. The default endpoint (if none is specified) is still "ncacn_np:[\\pipe\\ifacename]", where ifacename is the name of the interface. Examples: [ uuid(60a15ec5-4de8-11d7-a637-005056a20182), endpoint("ncacn_np:[\\pipe\\rpcecho]", "ncacn_ip_tcp:") ] interface rpcecho { void dummy(); } dcerpc_binding is now converted to ep_description in the server, but I hope to completely eliminate ep_description later on. The eventual goal of all these changes is to make it easier to add transports as I'm going to add support for ncalrpc (local RPC over named pipes) and ncacn_unix_stream (Unix sockets). |
||
---|---|---|
.. | ||
client.pm | ||
dump.pm | ||
eparser.pm | ||
header.pm | ||
idl.gram | ||
idl.pm | ||
idl.yp | ||
includes.h | ||
Makefile | ||
moduleinfo.c | ||
parser.pm | ||
pidl.pl | ||
README | ||
server.pm | ||
swig.pm | ||
tables.pl | ||
template.pm | ||
util.pm | ||
validator.pm |
This directory contains the source code of the pidl (Perl IDL) compiler. pidl.pl is the main file of pidl. Pidl works by building a parse tree from a .pidl file (a simple dump of it's internal parse tree) or a .idl file (a file format mostly like the IDL file format midl uses). The IDL file parser is in idl.yp (a yacc file converted to perl code by yapp) After a parse tree is present, pidl will call one of it's backends (which one depends on the options given on the command-line). Here is a list of current backends: client.pm - Generates client call functions in C dump.pm - Converts the parse tree back to an IDL file eparser.pm - Generates a parser for the ethereal network sniffer header.pm - Generates a header file with structures parser.pm - Generates pull/push functions for parsing server.pm - Generates server side implementation in C template.pm - Generates stubs in C for server implementation validator.pm - Validates the parse tree Other files in this directory are: tables.pl - Generates a table of available interfaces from a list of IDL files util.pm - Misc utility functions used by *.pm and pidl.pl Tips for hacking on pidl: - Look at the pidl's parse tree by using the --keep option and looking at the generated .pidl file. - The various backends have a lot in common, if you don't understand how one implements something, look at the others - See pidl(1) and the documentation on midl - See 'info bison' and yapp(1) for information on the file format of idl.yp