What is the difference between structured output and function calling?

Technical