Is it possible to create custom material nodes?

I’m just looking to make a few custom nodes for converting between hsv and rgb, how much work would this involve? I mean, I know how to switch between them in c++, its just that I don’t know how I’d go about creating a material node.

Also, I noticed that all material nodes with a blue band at the top I can’t seem to find in the code, where are the sources for those? Are they part of some closed source plugin?

You can try this: Custom Expressions

Basically its base HLSL code for shader.