+}
+
+LY_DEFINE (ly_add_interface, "ly:add-interface",
+ 3, 0, 0, (SCM iface, SCM desc, SCM props),
+ "Add a new grob interface. @var{iface} is the"
+ " interface name, @var{desc} is the interface"
+ " description, and @var{props} is the list of"
+ " user-settable properties for the interface.")
+{
+ LY_ASSERT_TYPE (ly_is_symbol, iface, 1);
+ LY_ASSERT_TYPE (scm_is_string, desc, 2);
+ LY_ASSERT_TYPE (ly_is_list, props, 3);
+
+ internal_add_interface (iface, desc, props);