dcerpc-interface-structure

Scaffold DCE/RPC interface code from IDLs using idlgen.py.

158|7|Updated May 4, 2025
One-click install
npx skills add https://github.com/TheManticoreProject/Manticore --skill dcerpc-interface-structure
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: dcerpc-interface-structure
Source: https://github.com/TheManticoreProject/Manticore/tree/main/.claude/skills/dcerpc-interface-structure
Command: npx skills add https://github.com/TheManticoreProject/Manticore --skill dcerpc-interface-structure

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Scaffold and organize DCE/RPC interface code in the Manticore project, automating the creation and arrangement of interface skeletons, UUID/version layouts, and shared type reuse.

Core Features & Use Cases

  • Automates generation of RPC interface skeletons from IDLs using the bundled idlgen.py generator.
  • Enforces the repository's DCE/RPC interface structure (interfaces/<uuid>/<major>.<minor>/ with structures/ and functions/ subpackages).
  • Supports translating IDLs to Go, scaffolding new interfaces, adding opnums/NDR structures, splitting monolithic interfaces, and wiring MS-protocol packages to the interfaces they compose.
  • Provides a review workflow to verify and refine generated skeletons before implementation.

Quick Start

Generate the skeleton from the relevant IDL with idlgen.py, then review and refine the generated interface skeleton using this skill.

Frequently Asked Questions about dcerpc-interface-structure

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I generate DCE/RPC interface code from an IDL file?

DCE/RPC interface scaffolding from IDL files is automated using the bundled idlgen.py generator. It produces Go interface skeletons, enforces UUID and version directory layouts, and organizes NDR structures and opnum functions into subpackages.

What is the correct directory structure for DCE/RPC interfaces?

DCE/RPC interface directory structure follows the pattern interfaces/<uuid>/<major>.<minor>/ with structures/ and functions/ subpackages. This layout organizes interface skeletons by UUID and version numbers for consistent repository organization.

Can I add new methods or NDR structures to an existing RPC interface?

Adding opnums and NDR structures to existing RPC interfaces is fully supported. The scaffolding process generates skeleton additions, maps opnum sequences, and reuses base types via dtyp to maintain consistent type definitions across the interface.

How do I wire an MS-protocol package to its DCE/RPC interfaces?

Wiring MS-protocol packages to DCE/RPC interfaces connects protocol definitions to their composed interface skeletons. The scaffolding process maps the protocol package to the relevant interface UUIDs and versions within the repository structure.

Do I need to review the generated RPC interface skeleton before implementation?

Reviewing the generated RPC interface skeleton before implementation is part of the workflow. The review step verifies and refines the generated skeleton to ensure correctness of UUID layouts, opnum mappings, and base type reuse via dtyp.

Why use a generator for DCE/RPC interface scaffolding instead of manual creation?

Using a generator for DCE/RPC scaffolding eliminates manual errors in UUID and version layouts. It automates opnum mapping and base type reuse via dtyp, ensuring the generated interface skeleton adheres to repository standards before review.