| 1895 | } |
| 1896 | |
| 1897 | static void |
| 1898 | sppp_down_event(const struct cp *cp, struct sppp *sp) |
| 1899 | { |
| 1900 | STDDCL; |
| 1901 | |
| 1902 | if (debug) |
| 1903 | log(LOG_DEBUG, SPP_FMT "%s down(%s)\n", |
| 1904 | SPP_ARGS(ifp), cp->name, |
| 1905 | sppp_state_name(sp->state[cp->protoidx])); |
| 1906 | |
| 1907 | switch (sp->state[cp->protoidx]) { |
| 1908 | case STATE_CLOSED: |
| 1909 | case STATE_CLOSING: |
| 1910 | sppp_cp_change_state(cp, sp, STATE_INITIAL); |
| 1911 | break; |
| 1912 | case STATE_STOPPED: |
| 1913 | sppp_cp_change_state(cp, sp, STATE_STARTING); |
| 1914 | (cp->tls)(sp); |
| 1915 | break; |
| 1916 | case STATE_STOPPING: |
| 1917 | case STATE_REQ_SENT: |
| 1918 | case STATE_ACK_RCVD: |
| 1919 | case STATE_ACK_SENT: |
| 1920 | sppp_cp_change_state(cp, sp, STATE_STARTING); |
| 1921 | break; |
| 1922 | case STATE_OPENED: |
| 1923 | (cp->tld)(sp); |
| 1924 | sppp_cp_change_state(cp, sp, STATE_STARTING); |
| 1925 | break; |
| 1926 | default: |
| 1927 | printf(SPP_FMT "%s illegal down in state %s\n", |
| 1928 | SPP_ARGS(ifp), cp->name, |
| 1929 | sppp_state_name(sp->state[cp->protoidx])); |
| 1930 | } |
| 1931 | } |
| 1932 | |
| 1933 | static void |
| 1934 | sppp_open_event(const struct cp *cp, struct sppp *sp) |
no test coverage detected