Drupal's version of Wordpress' wp_insert_post()?
Are you sure you want to do it programmatically?
You can just create the Content Type and use Permissions to control which user's roles can add/edit/delete that type of content.