# Slurmctld Generic Plugin Programmer Guide

## Overview

This document describes slurmctld daemon's generic plugins and the API that defines them. It is intended as a resource to programmers wishing to write their own slurmctld generic plugins. This is version 100 of the API.

The slurmctld generic plugin must conform to the Slurm Plugin API with the following specifications:

const char plugin_name[]="full text name"

A free-formatted ASCII text string that identifies the plugin.

const char plugin_type[]="major/minor"

The major type must be "slurmctld_plugstack." The minor type can be any suitable name for the type of slurmctld package. Slurm can be configured to use multiple slurmctld_plugstack plugins if desired.

## API Functions

Only the init and fini functions of the plugin will be called. The init function will be called when the slurmctld daemon begins accepting RPCs. The fini function will be called when the slurmctld daemon stops accepting RPCs. In the cased of the backup slurmctld daemon, the init and fini functions may be called multiple times (when it assumes control functions and then when it reliquishes them to the primary slurmctld daemon).

## Versioning

This document describes version 100 of the SLURM Job Submission API. Future releases of SLURM may revise this API.

Last modified 23 January 2013