Lines Matching refs:sopt

779 sooptcopyin_fw( struct sockopt *sopt, struct ip_fw *user_ip_fw, size_t *size )
784 valsize = sopt->sopt_valsize;
787 if (proc_is64bit(sopt->sopt_p)) {
796 sopt->sopt_valsize = valsize = copyinsize;
798 if ( sopt->sopt_p != 0) {
802 if ((error = copyin(sopt->sopt_val, fw64, valsize)) != 0){
808 bcopy(CAST_DOWN(caddr_t, sopt->sopt_val), fw64, valsize);
821 sopt->sopt_valsize = valsize = copyinsize;
823 if ( sopt->sopt_p != 0) {
827 if ( (error = copyin(sopt->sopt_val, fw32, valsize)) != 0){
833 bcopy(CAST_DOWN(caddr_t, sopt->sopt_val), fw32, valsize);
3391 ipfw_ctl(struct sockopt *sopt)
3402 /* copy of orig sopt to send to ipfw_get_command_and_version() */
3403 struct sockopt tmp_sopt = *sopt;
3412 if (sopt->sopt_name == IP_FW_ADD ||
3413 (sopt->sopt_dir == SOPT_SET && sopt->sopt_name != IP_FW_RESETLOG)) {
3415 error = securelevel_ge(sopt->sopt_td->td_ucred, 3);
3431 if (proc_is64bit(sopt->sopt_p))
3590 error = sooptcopyout(sopt, buf2, len);
3645 error = sooptcopyout(sopt, buf2, len);
3649 error = sooptcopyout(sopt, buf, size);
3691 error = ipfw_convert_to_latest(sopt, rule, api_version, is64user);
3694 savedsopt_valsize = sopt->sopt_valsize; /* it might get modified in sooptcopyin_fw */
3695 error = sooptcopyin_fw( sopt, rule, &rulesize);
3704 sopt->sopt_valsize = RULESIZE(rule);
3716 if (!error && sopt->sopt_dir == SOPT_GET) {
3722 sopt->sopt_valsize = sizeof(struct ip_old_fw);
3724 error = sooptcopyout(sopt, &rule_vers0, sizeof(struct ip_old_fw));
3728 sopt->sopt_valsize = sizeof(struct ip_fw_compat);
3730 error = sooptcopyout(sopt, &rule_vers1, sizeof(struct ip_fw_compat));
3736 if (proc_is64bit(sopt->sopt_p)){
3742 error = sooptcopyout(sopt, userrule, savedsopt_valsize);
3774 error = ipfw_convert_to_latest(sopt, &temp_rule, api_version, is64user);
3777 error = sooptcopyin_fw(sopt, &temp_rule, 0 );
3828 error = ipfw_convert_to_latest(sopt, &temp_rule, api_version, is64user);
3831 if (sopt->sopt_val != 0) {
3832 error = sooptcopyin_fw( sopt, &temp_rule, 0);
3838 error = zero_entry(temp_rule.rulenum, sopt->sopt_name == IP_FW_RESETLOG);
3844 printf("ipfw: ipfw_ctl invalid option %d\n", sopt->sopt_name);