Functions that uniswap interacts with in contract

Can someone tell me what functions uniswap calls (if any) in a smart contract when performing a swap? I want to add to my contract away for uniswap to reject the swap if the sender isn't pre-approved. Any pointers in the right direction are appreciated.